No changes between revisions
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Balon_sonda.c
0,0 → 1,68
/*
* Balon_sonda.c
*
* Created: 26.3.2013 18:28:59
* Author: Zbynek
*/
 
 
#include <avr/io.h>
#include "Globals.h"
#include "uart.h"
#include "LED.h"
#include "Timers.h"
#include <util/delay.h>
#include <avr/interrupt.h>
 
int main(void)
{
//LEDs_init();
USART_Init();
Timer1_init();
sei();
 
pocet_prubehu_casovace = PERIODA_VYCITANI;
while(1)
{
if (pocet_prubehu_casovace == 0)
{
pocet_prubehu_casovace = PERIODA_VYCITANI;
dekoduj_zpravu_GPS();
if(Status_GPS == '1')
{
USART0_posli_retezec(UTC_time);
USART0_posli_znak('\n');
USART0_posli_znak('\r');
USART0_posli_znak(Status_GPS);
USART0_posli_znak('\n');
USART0_posli_znak('\r');
USART0_posli_retezec(Latitude);
USART0_posli_znak('\n');
USART0_posli_znak('\r');
USART0_posli_retezec(Longitude);
USART0_posli_znak('\n');
USART0_posli_znak('\r');
USART0_posli_retezec(Altitude);
USART0_posli_znak('\n');
USART0_posli_znak('\r');
}
}
 
}
 
}
 
SIGNAL (TIMER1_COMPA_vect)
{
OCR1AH = 0xF4; // Start value in counter ~4s
OCR1AL = 0x24;
USART0_posli_znak('T');
if (pocet_prubehu_casovace > 0)
{
pocet_prubehu_casovace--;
}
 
 
 
}
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Balon_sonda.cproj
0,0 → 1,139
<?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.0</ProjectVersion>
<ToolchainName>com.Atmel.AVRGCC8</ToolchainName>
<ProjectGuid>{5fc05f7e-6372-49e5-b196-716989868c15}</ProjectGuid>
<avrdevice>ATmega328</avrdevice>
<avrdeviceseries>none</avrdeviceseries>
<OutputType>Executable</OutputType>
<Language>C</Language>
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
<OutputFileExtension>.elf</OutputFileExtension>
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
<AssemblyName>Balon_sonda</AssemblyName>
<Name>Balon_sonda</Name>
<RootNamespace>Balon_sonda</RootNamespace>
<ToolchainFlavour>Native</ToolchainFlavour>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue />
<eraseonlaunchrule>0</eraseonlaunchrule>
<AsfVersion>3.1.3</AsfVersion>
<avrtool>com.atmel.avrdbg.tool.avrdragon</avrtool>
<avrtoolinterface>ISP</avrtoolinterface>
<com_atmel_avrdbg_tool_simulator>
<ToolType>com.atmel.avrdbg.tool.simulator</ToolType>
<ToolName>AVR Simulator</ToolName>
<ToolNumber>
</ToolNumber>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue>
</OverrideVtorValue>
<Channel>
<host>127.0.0.1</host>
<port>53860</port>
<ssl>False</ssl>
</Channel>
</com_atmel_avrdbg_tool_simulator>
<com_atmel_avrdbg_tool_avrdragon>
<ToolType>com.atmel.avrdbg.tool.avrdragon</ToolType>
<ToolName>AVR Dragon</ToolName>
<ToolNumber>00A200027936</ToolNumber>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue>
</OverrideVtorValue>
<Channel>
<host>127.0.0.1</host>
<port>65178</port>
<ssl>False</ssl>
</Channel>
<ToolOptions>
<InterfaceName>ISP</InterfaceName>
<InterfaceProperties>
<JtagDbgClock>200000</JtagDbgClock>
<JtagProgClock>1000000</JtagProgClock>
<IspClock>1000000</IspClock>
<JtagInChain>false</JtagInChain>
<JtagEnableExtResetOnStartSession>false</JtagEnableExtResetOnStartSession>
<JtagDevicesBefore>0</JtagDevicesBefore>
<JtagDevicesAfter>0</JtagDevicesAfter>
<JtagInstrBitsBefore>0</JtagInstrBitsBefore>
<JtagInstrBitsAfter>0</JtagInstrBitsAfter>
</InterfaceProperties>
</ToolOptions>
</com_atmel_avrdbg_tool_avrdragon>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrGcc>
<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.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<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>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>m</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGcc>
<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.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<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>
<avrgcc.linker.libraries.Libraries>
<ListValues>
<Value>m</Value>
</ListValues>
</avrgcc.linker.libraries.Libraries>
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
<Compile Include="Balon_sonda.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="Globals.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="LED.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="LED.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="Timers.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="Timers.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="uart.c">
<SubType>compile</SubType>
</Compile>
<Compile Include="uart.h">
<SubType>compile</SubType>
</Compile>
</ItemGroup>
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
</Project>
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/Balon_sonda.d
0,0 → 1,58
Balon_sonda.d Balon_sonda.o: .././Balon_sonda.c \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328p.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \
.././Globals.h .././uart.h .././LED.h .././Timers.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328p.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h:
 
.././Globals.h:
 
.././uart.h:
 
.././LED.h:
 
.././Timers.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h:
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/Balon_sonda.eep
0,0 → 1,0
:00000001FF
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/Balon_sonda.elf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/Balon_sonda.hex
0,0 → 1,82
:100000000C9434000C9451000C9451000C94510049
:100010000C9451000C9451000C9451000C9451001C
:100020000C9451000C9451000C9451000C94AB00B2
:100030000C9451000C9451000C9451000C945100FC
:100040000C9451000C9451000C94C2010C9451007A
:100050000C9451000C9451000C9451000C945100DC
:100060000C9451000C94510011241FBECFEFD8E026
:10007000DEBFCDBF11E0A0E0B1E0EEEFF4E002C0E2
:1000800005900D92A830B107D9F713E0A8E0B1E0D0
:1000900001C01D92A832B107E1F70E9453000C94F1
:1000A0007D020C9400000E942D020E94EA007894C8
:1000B00081E080932603C1E008E012E00F2EF5E115
:1000C000EF2EF2E0FF2EF02D0F2EF2E2CF2EF2E017
:1000D000DF2EF02D0F2EFEEFAF2EF1E0BF2EF02D14
:1000E000809126038823E1F7C09326030E9405012F
:1000F000809127038133A1F7C8010E9445028AE05D
:100100000E9425028DE00E942502809127030E9413
:1001100025028AE00E9425028DE00E942502C70187
:100120000E9445028AE00E9425028DE00E9425027D
:10013000C6010E9445028AE00E9425028DE00E94CD
:100140002502C5010E9445028AE00E9425028DE039
:100150000E942502C5CF1F920F920FB60F92112455
:100160002F933F934F935F936F937F938F939F93BF
:10017000AF93BF93EF93FF9384EF8093890084E262
:100180008093880084E50E942502809126038823BD
:1001900029F080912603815080932603FF91EF91EF
:1001A000BF91AF919F918F917F916F915F914F918F
:1001B0003F912F910F900FBE0F901F90189583E0E5
:1001C00084B90895289A089528980895299A089539
:1001D00029980895E1E8F0E080818860808380813B
:1001E0008460808380818160808384EF8093890034
:1001F00084E2809388001092850010928400EFE6DC
:10020000F0E080818260808308952F923F924F9228
:100210005F926F927F928F929F92BF92CF92DF9266
:10022000EF92FF920F931F93CF93DF93F894C090B8
:100230002403DD241C141D040CF084C0B09027039B
:10024000A0E3B2E020E030E000E010E0EE24FF2484
:10025000C0E0D0E060E070E00F2EF2E26F2EF2E03E
:100260007F2EF02D0F2EF5E14F2EF2E05F2EF02DB8
:100270000F2EF8E08F2EF2E09F2EF02D0F2EFEEFC6
:100280002F2EF1E03F2EF02D2130310541F4F40105
:10029000E00FF11F8C9180830F5F1F4F19C0A901E0
:1002A000C90102978230910540F4F201EE0DFF1D65
:1002B0008C9180830894E11CF11CCA010497823060
:1002C000910530F4F301EC0FFD1F8C918083219692
:1002D00026303105C1F4C401800F911F0197FC0144
:1002E0001082C2018E0D9F1D0197FC011082C30177
:1002F0008C0F9D1F0197FC011082FD013197B0808A
:10030000C0E0D0E009C02930310531F4F101EC0F33
:10031000FD1F8C91808321968D918C3211F42F5F7B
:100320003F4F2A30310534F0B0922703C350DE4FDF
:10033000188208C06F5F7F4F6C157D050CF4A4CF49
:10034000B09227037894DF91CF911F910F91FF9086
:10035000EF90DF90CF90BF909F908F907F906F90A5
:100360005F904F903F902F900895F894E8E0F1E06F
:100370008DEF91E01192E817F907E1F71092FC0177
:10038000789408951F920F920FB60F9211242F9315
:100390003F934F935F936F937F938F939F93AF930D
:1003A000BF93CF93EF93FF93C091C6008091FC0160
:1003B000833F50F4E8E0F1E0E80FF11DC0831182C3
:1003C0008F5F8093FC010CC00E94B5018091FC01FD
:1003D000E8E0F1E0E80FF11DC0838F5F8093FC013E
:1003E00080912503813069F088E091E060E071E060
:1003F0000E946302009729F081E0809325030E9408
:10040000B501CA3281F480912503813061F480E323
:1004100092E068E071E00E945C028091FC018093B0
:10042000240310922503FF91EF91CF91BF91AF91DB
:100430009F918F917F916F915F914F913F912F91FC
:100440000F900FBE0F901F901895E0ECF0E0908198
:1004500095FFFDCF8093C60008951092C50087E6F2
:100460008093C40088E98093C10086E08093C20035
:1004700081E40E9425028BE40E9425028AE00E940A
:1004800025028DE00E9425020895CF93DF93EC01B1
:100490008881882331F021960E9425028991882342
:1004A000D9F7DF91CF910895E0ECF0E080818823C7
:1004B000ECF78091C6000895FB01DC0101900D92DC
:1004C0000020E1F70895FB0151915523A9F0BF01E8
:1004D000DC014D9145174111E1F759F4CD0101902F
:1004E000002049F04D9140154111C9F3FB01411124
:0E04F000EFCF81E090E001970895F894FFCFE0
:0804FE0024475047474100006C
:00000001FF
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/Balon_sonda.lss
0,0 → 1,1002
 
Balon_sonda.elf: file format elf32-avr
 
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000008 00800100 000004fe 00000592 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 000004fe 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000220 00800108 00800108 0000059a 2**0
ALLOC
3 .stab 00000888 00000000 00000000 0000059c 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000149 00000000 00000000 00000e24 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 000000e0 00000000 00000000 00000f70 2**3
CONTENTS, READONLY, DEBUGGING
6 .debug_info 000009b1 00000000 00000000 00001050 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_abbrev 000002bc 00000000 00000000 00001a01 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 000005e9 00000000 00000000 00001cbd 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_frame 00000238 00000000 00000000 000022a8 2**2
CONTENTS, READONLY, DEBUGGING
10 .debug_str 0000026a 00000000 00000000 000024e0 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_loc 00000403 00000000 00000000 0000274a 2**0
CONTENTS, READONLY, DEBUGGING
 
Disassembly of section .text:
 
00000000 <__vectors>:
0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end>
4: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
8: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
10: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
14: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
18: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
1c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
20: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
24: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
28: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
2c: 0c 94 ab 00 jmp 0x156 ; 0x156 <__vector_11>
30: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
34: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
38: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
3c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
40: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
44: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
48: 0c 94 c2 01 jmp 0x384 ; 0x384 <__vector_18>
4c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
50: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
54: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
58: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
5c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
60: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
64: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
 
00000068 <__ctors_end>:
68: 11 24 eor r1, r1
6a: 1f be out 0x3f, r1 ; 63
6c: cf ef ldi r28, 0xFF ; 255
6e: d8 e0 ldi r29, 0x08 ; 8
70: de bf out 0x3e, r29 ; 62
72: cd bf out 0x3d, r28 ; 61
 
00000074 <__do_copy_data>:
74: 11 e0 ldi r17, 0x01 ; 1
76: a0 e0 ldi r26, 0x00 ; 0
78: b1 e0 ldi r27, 0x01 ; 1
7a: ee ef ldi r30, 0xFE ; 254
7c: f4 e0 ldi r31, 0x04 ; 4
7e: 02 c0 rjmp .+4 ; 0x84 <__do_copy_data+0x10>
80: 05 90 lpm r0, Z+
82: 0d 92 st X+, r0
84: a8 30 cpi r26, 0x08 ; 8
86: b1 07 cpc r27, r17
88: d9 f7 brne .-10 ; 0x80 <__do_copy_data+0xc>
 
0000008a <__do_clear_bss>:
8a: 13 e0 ldi r17, 0x03 ; 3
8c: a8 e0 ldi r26, 0x08 ; 8
8e: b1 e0 ldi r27, 0x01 ; 1
90: 01 c0 rjmp .+2 ; 0x94 <.do_clear_bss_start>
 
00000092 <.do_clear_bss_loop>:
92: 1d 92 st X+, r1
 
00000094 <.do_clear_bss_start>:
94: a8 32 cpi r26, 0x28 ; 40
96: b1 07 cpc r27, r17
98: e1 f7 brne .-8 ; 0x92 <.do_clear_bss_loop>
9a: 0e 94 53 00 call 0xa6 ; 0xa6 <main>
9e: 0c 94 7d 02 jmp 0x4fa ; 0x4fa <_exit>
 
000000a2 <__bad_interrupt>:
a2: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
 
000000a6 <main>:
#include <avr/interrupt.h>
 
int main(void)
{
//LEDs_init();
USART_Init();
a6: 0e 94 2d 02 call 0x45a ; 0x45a <USART_Init>
Timer1_init();
aa: 0e 94 ea 00 call 0x1d4 ; 0x1d4 <Timer1_init>
sei();
ae: 78 94 sei
 
pocet_prubehu_casovace = PERIODA_VYCITANI;
b0: 81 e0 ldi r24, 0x01 ; 1
b2: 80 93 26 03 sts 0x0326, r24
while(1)
{
if (pocet_prubehu_casovace == 0)
{
pocet_prubehu_casovace = PERIODA_VYCITANI;
b6: c1 e0 ldi r28, 0x01 ; 1
dekoduj_zpravu_GPS();
if(Status_GPS == '1')
{
USART0_posli_retezec(UTC_time);
b8: 08 e0 ldi r16, 0x08 ; 8
ba: 12 e0 ldi r17, 0x02 ; 2
USART0_posli_znak('\n');
USART0_posli_znak('\r');
USART0_posli_znak(Status_GPS);
USART0_posli_znak('\n');
USART0_posli_znak('\r');
USART0_posli_retezec(Latitude);
bc: 0f 2e mov r0, r31
be: f5 e1 ldi r31, 0x15 ; 21
c0: ef 2e mov r14, r31
c2: f2 e0 ldi r31, 0x02 ; 2
c4: ff 2e mov r15, r31
c6: f0 2d mov r31, r0
USART0_posli_znak('\n');
USART0_posli_znak('\r');
USART0_posli_retezec(Longitude);
c8: 0f 2e mov r0, r31
ca: f2 e2 ldi r31, 0x22 ; 34
cc: cf 2e mov r12, r31
ce: f2 e0 ldi r31, 0x02 ; 2
d0: df 2e mov r13, r31
d2: f0 2d mov r31, r0
USART0_posli_znak('\n');
USART0_posli_znak('\r');
USART0_posli_retezec(Altitude);
d4: 0f 2e mov r0, r31
d6: fe ef ldi r31, 0xFE ; 254
d8: af 2e mov r10, r31
da: f1 e0 ldi r31, 0x01 ; 1
dc: bf 2e mov r11, r31
de: f0 2d mov r31, r0
 
pocet_prubehu_casovace = PERIODA_VYCITANI;
while(1)
{
if (pocet_prubehu_casovace == 0)
e0: 80 91 26 03 lds r24, 0x0326
e4: 88 23 and r24, r24
e6: e1 f7 brne .-8 ; 0xe0 <main+0x3a>
{
pocet_prubehu_casovace = PERIODA_VYCITANI;
e8: c0 93 26 03 sts 0x0326, r28
dekoduj_zpravu_GPS();
ec: 0e 94 05 01 call 0x20a ; 0x20a <dekoduj_zpravu_GPS>
if(Status_GPS == '1')
f0: 80 91 27 03 lds r24, 0x0327
f4: 81 33 cpi r24, 0x31 ; 49
f6: a1 f7 brne .-24 ; 0xe0 <main+0x3a>
{
USART0_posli_retezec(UTC_time);
f8: c8 01 movw r24, r16
fa: 0e 94 45 02 call 0x48a ; 0x48a <USART0_posli_retezec>
USART0_posli_znak('\n');
fe: 8a e0 ldi r24, 0x0A ; 10
100: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak('\r');
104: 8d e0 ldi r24, 0x0D ; 13
106: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak(Status_GPS);
10a: 80 91 27 03 lds r24, 0x0327
10e: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak('\n');
112: 8a e0 ldi r24, 0x0A ; 10
114: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak('\r');
118: 8d e0 ldi r24, 0x0D ; 13
11a: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_retezec(Latitude);
11e: c7 01 movw r24, r14
120: 0e 94 45 02 call 0x48a ; 0x48a <USART0_posli_retezec>
USART0_posli_znak('\n');
124: 8a e0 ldi r24, 0x0A ; 10
126: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak('\r');
12a: 8d e0 ldi r24, 0x0D ; 13
12c: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_retezec(Longitude);
130: c6 01 movw r24, r12
132: 0e 94 45 02 call 0x48a ; 0x48a <USART0_posli_retezec>
USART0_posli_znak('\n');
136: 8a e0 ldi r24, 0x0A ; 10
138: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak('\r');
13c: 8d e0 ldi r24, 0x0D ; 13
13e: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_retezec(Altitude);
142: c5 01 movw r24, r10
144: 0e 94 45 02 call 0x48a ; 0x48a <USART0_posli_retezec>
USART0_posli_znak('\n');
148: 8a e0 ldi r24, 0x0A ; 10
14a: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak('\r');
14e: 8d e0 ldi r24, 0x0D ; 13
150: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
154: c5 cf rjmp .-118 ; 0xe0 <main+0x3a>
 
00000156 <__vector_11>:
}
 
}
 
SIGNAL (TIMER1_COMPA_vect)
{
156: 1f 92 push r1
158: 0f 92 push r0
15a: 0f b6 in r0, 0x3f ; 63
15c: 0f 92 push r0
15e: 11 24 eor r1, r1
160: 2f 93 push r18
162: 3f 93 push r19
164: 4f 93 push r20
166: 5f 93 push r21
168: 6f 93 push r22
16a: 7f 93 push r23
16c: 8f 93 push r24
16e: 9f 93 push r25
170: af 93 push r26
172: bf 93 push r27
174: ef 93 push r30
176: ff 93 push r31
OCR1AH = 0xF4; // Start value in counter ~4s
178: 84 ef ldi r24, 0xF4 ; 244
17a: 80 93 89 00 sts 0x0089, r24
OCR1AL = 0x24;
17e: 84 e2 ldi r24, 0x24 ; 36
180: 80 93 88 00 sts 0x0088, r24
USART0_posli_znak('T');
184: 84 e5 ldi r24, 0x54 ; 84
186: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
if (pocet_prubehu_casovace > 0)
18a: 80 91 26 03 lds r24, 0x0326
18e: 88 23 and r24, r24
190: 29 f0 breq .+10 ; 0x19c <__vector_11+0x46>
{
pocet_prubehu_casovace--;
192: 80 91 26 03 lds r24, 0x0326
196: 81 50 subi r24, 0x01 ; 1
198: 80 93 26 03 sts 0x0326, r24
}
 
 
 
19c: ff 91 pop r31
19e: ef 91 pop r30
1a0: bf 91 pop r27
1a2: af 91 pop r26
1a4: 9f 91 pop r25
1a6: 8f 91 pop r24
1a8: 7f 91 pop r23
1aa: 6f 91 pop r22
1ac: 5f 91 pop r21
1ae: 4f 91 pop r20
1b0: 3f 91 pop r19
1b2: 2f 91 pop r18
1b4: 0f 90 pop r0
1b6: 0f be out 0x3f, r0 ; 63
1b8: 0f 90 pop r0
1ba: 1f 90 pop r1
1bc: 18 95 reti
 
000001be <LEDs_init>:
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LEDs_init(void)
{
DDRB = (1<<DDB0)|(1<<DDB1);
1be: 83 e0 ldi r24, 0x03 ; 3
1c0: 84 b9 out 0x04, r24 ; 4
}
1c2: 08 95 ret
 
000001c4 <LED_horni_on>:
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LED_horni_on(void)
{
PORTB |= (1<<PB0);
1c4: 28 9a sbi 0x05, 0 ; 5
}
1c6: 08 95 ret
 
000001c8 <LED_horni_off>:
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LED_horni_off(void)
{
PORTB &= ~(1<<PB0);
1c8: 28 98 cbi 0x05, 0 ; 5
}
1ca: 08 95 ret
 
000001cc <LED_spodni_on>:
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LED_spodni_on(void)
{
PORTB |= (1<<PB1);
1cc: 29 9a sbi 0x05, 1 ; 5
}
1ce: 08 95 ret
 
000001d0 <LED_spodni_off>:
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LED_spodni_off(void)
{
PORTB &= ~(1<<PB1);
1d0: 29 98 cbi 0x05, 1 ; 5
}
1d2: 08 95 ret
 
000001d4 <Timer1_init>:
 
#include <avr/io.h>
 
void Timer1_init(void)
{
TCCR1B |= 1<<WGM12; // T1 in CTC mode
1d4: e1 e8 ldi r30, 0x81 ; 129
1d6: f0 e0 ldi r31, 0x00 ; 0
1d8: 80 81 ld r24, Z
1da: 88 60 ori r24, 0x08 ; 8
1dc: 80 83 st Z, r24
TCCR1B |= 1<<CS12; // f_osc/1024
1de: 80 81 ld r24, Z
1e0: 84 60 ori r24, 0x04 ; 4
1e2: 80 83 st Z, r24
TCCR1B |= 1<<CS10; // f_osc/1024
1e4: 80 81 ld r24, Z
1e6: 81 60 ori r24, 0x01 ; 1
1e8: 80 83 st Z, r24
 
OCR1AH = 0xF4; // Start value in counter ~4s
1ea: 84 ef ldi r24, 0xF4 ; 244
1ec: 80 93 89 00 sts 0x0089, r24
OCR1AL = 0x24;
1f0: 84 e2 ldi r24, 0x24 ; 36
1f2: 80 93 88 00 sts 0x0088, r24
 
TCNT1H = 0; // Start value in counter
1f6: 10 92 85 00 sts 0x0085, r1
TCNT1L = 0;
1fa: 10 92 84 00 sts 0x0084, r1
 
TIMSK1 |= 1<<OCIE1A; // enable interrupt from T1 when compare match
1fe: ef e6 ldi r30, 0x6F ; 111
200: f0 e0 ldi r31, 0x00 ; 0
202: 80 81 ld r24, Z
204: 82 60 ori r24, 0x02 ; 2
206: 80 83 st Z, r24
}
208: 08 95 ret
 
0000020a <dekoduj_zpravu_GPS>:
* Ucel: Z RX0_buffer vytahne informace o soucasne poloze, je tam ulozena cela veta RMC
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
void dekoduj_zpravu_GPS (void)
{
20a: 2f 92 push r2
20c: 3f 92 push r3
20e: 4f 92 push r4
210: 5f 92 push r5
212: 6f 92 push r6
214: 7f 92 push r7
216: 8f 92 push r8
218: 9f 92 push r9
21a: bf 92 push r11
21c: cf 92 push r12
21e: df 92 push r13
220: ef 92 push r14
222: ff 92 push r15
224: 0f 93 push r16
226: 1f 93 push r17
228: cf 93 push r28
22a: df 93 push r29
cli();
22c: f8 94 cli
short i, j = 0, k = 0, l = 0;
short pocet_carek = 0;
for ( i = 0; i < NMEA_retezec.zaplneno_bytu; i++)
22e: c0 90 24 03 lds r12, 0x0324
232: dd 24 eor r13, r13
234: 1c 14 cp r1, r12
236: 1d 04 cpc r1, r13
238: 0c f0 brlt .+2 ; 0x23c <dekoduj_zpravu_GPS+0x32>
23a: 84 c0 rjmp .+264 ; 0x344 <dekoduj_zpravu_GPS+0x13a>
23c: b0 90 27 03 lds r11, 0x0327
240: a0 e3 ldi r26, 0x30 ; 48
242: b2 e0 ldi r27, 0x02 ; 2
void dekoduj_zpravu_GPS (void)
{
cli();
short i, j = 0, k = 0, l = 0;
short pocet_carek = 0;
244: 20 e0 ldi r18, 0x00 ; 0
246: 30 e0 ldi r19, 0x00 ; 0
************************************************************************/
void dekoduj_zpravu_GPS (void)
{
cli();
short i, j = 0, k = 0, l = 0;
248: 00 e0 ldi r16, 0x00 ; 0
24a: 10 e0 ldi r17, 0x00 ; 0
24c: ee 24 eor r14, r14
24e: ff 24 eor r15, r15
250: c0 e0 ldi r28, 0x00 ; 0
252: d0 e0 ldi r29, 0x00 ; 0
short pocet_carek = 0;
for ( i = 0; i < NMEA_retezec.zaplneno_bytu; i++)
254: 60 e0 ldi r22, 0x00 ; 0
256: 70 e0 ldi r23, 0x00 ; 0
k++;
}
if (pocet_carek == 4 || pocet_carek == 5)
{
 
Longitude[j] = NMEA_retezec.obsah[i];
258: 0f 2e mov r0, r31
25a: f2 e2 ldi r31, 0x22 ; 34
25c: 6f 2e mov r6, r31
25e: f2 e0 ldi r31, 0x02 ; 2
260: 7f 2e mov r7, r31
262: f0 2d mov r31, r0
UTC_time[l] = NMEA_retezec.obsah[i];
l++;
}
if (pocet_carek == 2 || pocet_carek == 3)
{
Latitude[k] = NMEA_retezec.obsah[i];
264: 0f 2e mov r0, r31
266: f5 e1 ldi r31, 0x15 ; 21
268: 4f 2e mov r4, r31
26a: f2 e0 ldi r31, 0x02 ; 2
26c: 5f 2e mov r5, r31
26e: f0 2d mov r31, r0
short pocet_carek = 0;
for ( i = 0; i < NMEA_retezec.zaplneno_bytu; i++)
{
if (pocet_carek == 1)
{
UTC_time[l] = NMEA_retezec.obsah[i];
270: 0f 2e mov r0, r31
272: f8 e0 ldi r31, 0x08 ; 8
274: 8f 2e mov r8, r31
276: f2 e0 ldi r31, 0x02 ; 2
278: 9f 2e mov r9, r31
27a: f0 2d mov r31, r0
j = 0;
}
if (pocet_carek == 9)
{
Altitude[j] = NMEA_retezec.obsah[i];
27c: 0f 2e mov r0, r31
27e: fe ef ldi r31, 0xFE ; 254
280: 2f 2e mov r2, r31
282: f1 e0 ldi r31, 0x01 ; 1
284: 3f 2e mov r3, r31
286: f0 2d mov r31, r0
short i, j = 0, k = 0, l = 0;
short pocet_carek = 0;
for ( i = 0; i < NMEA_retezec.zaplneno_bytu; i++)
{
if (pocet_carek == 1)
288: 21 30 cpi r18, 0x01 ; 1
28a: 31 05 cpc r19, r1
28c: 41 f4 brne .+16 ; 0x29e <dekoduj_zpravu_GPS+0x94>
{
UTC_time[l] = NMEA_retezec.obsah[i];
28e: f4 01 movw r30, r8
290: e0 0f add r30, r16
292: f1 1f adc r31, r17
294: 8c 91 ld r24, X
296: 80 83 st Z, r24
l++;
298: 0f 5f subi r16, 0xFF ; 255
29a: 1f 4f sbci r17, 0xFF ; 255
29c: 19 c0 rjmp .+50 ; 0x2d0 <dekoduj_zpravu_GPS+0xc6>
}
if (pocet_carek == 2 || pocet_carek == 3)
29e: a9 01 movw r20, r18
2a0: c9 01 movw r24, r18
2a2: 02 97 sbiw r24, 0x02 ; 2
2a4: 82 30 cpi r24, 0x02 ; 2
2a6: 91 05 cpc r25, r1
2a8: 40 f4 brcc .+16 ; 0x2ba <dekoduj_zpravu_GPS+0xb0>
{
Latitude[k] = NMEA_retezec.obsah[i];
2aa: f2 01 movw r30, r4
2ac: ee 0d add r30, r14
2ae: ff 1d adc r31, r15
2b0: 8c 91 ld r24, X
2b2: 80 83 st Z, r24
k++;
2b4: 08 94 sec
2b6: e1 1c adc r14, r1
2b8: f1 1c adc r15, r1
}
if (pocet_carek == 4 || pocet_carek == 5)
2ba: ca 01 movw r24, r20
2bc: 04 97 sbiw r24, 0x04 ; 4
2be: 82 30 cpi r24, 0x02 ; 2
2c0: 91 05 cpc r25, r1
2c2: 30 f4 brcc .+12 ; 0x2d0 <dekoduj_zpravu_GPS+0xc6>
{
 
Longitude[j] = NMEA_retezec.obsah[i];
2c4: f3 01 movw r30, r6
2c6: ec 0f add r30, r28
2c8: fd 1f adc r31, r29
2ca: 8c 91 ld r24, X
2cc: 80 83 st Z, r24
j++;
2ce: 21 96 adiw r28, 0x01 ; 1
}
if (pocet_carek == 6)
2d0: 26 30 cpi r18, 0x06 ; 6
2d2: 31 05 cpc r19, r1
2d4: c1 f4 brne .+48 ; 0x306 <dekoduj_zpravu_GPS+0xfc>
{
UTC_time[l-1] = 0;
2d6: c4 01 movw r24, r8
2d8: 80 0f add r24, r16
2da: 91 1f adc r25, r17
2dc: 01 97 sbiw r24, 0x01 ; 1
2de: fc 01 movw r30, r24
2e0: 10 82 st Z, r1
Latitude[k-1] = 0;
2e2: c2 01 movw r24, r4
2e4: 8e 0d add r24, r14
2e6: 9f 1d adc r25, r15
2e8: 01 97 sbiw r24, 0x01 ; 1
2ea: fc 01 movw r30, r24
2ec: 10 82 st Z, r1
Longitude[j-1] = 0;
2ee: c3 01 movw r24, r6
2f0: 8c 0f add r24, r28
2f2: 9d 1f adc r25, r29
2f4: 01 97 sbiw r24, 0x01 ; 1
2f6: fc 01 movw r30, r24
2f8: 10 82 st Z, r1
* Funkce: dekoduj_zpravu_GPS
* Ucel: Z RX0_buffer vytahne informace o soucasne poloze, je tam ulozena cela veta RMC
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
void dekoduj_zpravu_GPS (void)
2fa: fd 01 movw r30, r26
2fc: 31 97 sbiw r30, 0x01 ; 1
{
UTC_time[l-1] = 0;
Latitude[k-1] = 0;
Longitude[j-1] = 0;
 
Status_GPS = NMEA_retezec.obsah[i-1];
2fe: b0 80 ld r11, Z
j = 0;
300: c0 e0 ldi r28, 0x00 ; 0
302: d0 e0 ldi r29, 0x00 ; 0
304: 09 c0 rjmp .+18 ; 0x318 <dekoduj_zpravu_GPS+0x10e>
}
if (pocet_carek == 9)
306: 29 30 cpi r18, 0x09 ; 9
308: 31 05 cpc r19, r1
30a: 31 f4 brne .+12 ; 0x318 <dekoduj_zpravu_GPS+0x10e>
{
Altitude[j] = NMEA_retezec.obsah[i];
30c: f1 01 movw r30, r2
30e: ec 0f add r30, r28
310: fd 1f adc r31, r29
312: 8c 91 ld r24, X
314: 80 83 st Z, r24
j++;
316: 21 96 adiw r28, 0x01 ; 1
}
if (NMEA_retezec.obsah[i] == ',')
318: 8d 91 ld r24, X+
31a: 8c 32 cpi r24, 0x2C ; 44
31c: 11 f4 brne .+4 ; 0x322 <dekoduj_zpravu_GPS+0x118>
{
pocet_carek++;
31e: 2f 5f subi r18, 0xFF ; 255
320: 3f 4f sbci r19, 0xFF ; 255
}
if (pocet_carek >9)
322: 2a 30 cpi r18, 0x0A ; 10
324: 31 05 cpc r19, r1
326: 34 f0 brlt .+12 ; 0x334 <dekoduj_zpravu_GPS+0x12a>
328: b0 92 27 03 sts 0x0327, r11
{
Altitude[j-1] = 0; // konec Stringu
32c: c3 50 subi r28, 0x03 ; 3
32e: de 4f sbci r29, 0xFE ; 254
330: 18 82 st Y, r1
break; // nema vyznam dal zapisovat, potrebne je zapsano v Altitude
332: 08 c0 rjmp .+16 ; 0x344 <dekoduj_zpravu_GPS+0x13a>
{
cli();
short i, j = 0, k = 0, l = 0;
short pocet_carek = 0;
for ( i = 0; i < NMEA_retezec.zaplneno_bytu; i++)
334: 6f 5f subi r22, 0xFF ; 255
336: 7f 4f sbci r23, 0xFF ; 255
338: 6c 15 cp r22, r12
33a: 7d 05 cpc r23, r13
33c: 0c f4 brge .+2 ; 0x340 <dekoduj_zpravu_GPS+0x136>
33e: a4 cf rjmp .-184 ; 0x288 <dekoduj_zpravu_GPS+0x7e>
340: b0 92 27 03 sts 0x0327, r11
Altitude[j-1] = 0; // konec Stringu
break; // nema vyznam dal zapisovat, potrebne je zapsano v Altitude
}
}
sei();
344: 78 94 sei
}
346: df 91 pop r29
348: cf 91 pop r28
34a: 1f 91 pop r17
34c: 0f 91 pop r16
34e: ff 90 pop r15
350: ef 90 pop r14
352: df 90 pop r13
354: cf 90 pop r12
356: bf 90 pop r11
358: 9f 90 pop r9
35a: 8f 90 pop r8
35c: 7f 90 pop r7
35e: 6f 90 pop r6
360: 5f 90 pop r5
362: 4f 90 pop r4
364: 3f 90 pop r3
366: 2f 90 pop r2
368: 08 95 ret
 
0000036a <USART0_smaz_buffer>:
* Vstup: Jaky buffer ma smazat (pro USART 0 nebo 1)
* Vystup: Zadny
************************************************************************/
void USART0_smaz_buffer (void)
{
cli();
36a: f8 94 cli
36c: e8 e0 ldi r30, 0x08 ; 8
36e: f1 e0 ldi r31, 0x01 ; 1
* Funkce: USART0_smaz_buffer
* Ucel: Smaze (zaplni nulami) prijimaci buffer
* Vstup: Jaky buffer ma smazat (pro USART 0 nebo 1)
* Vystup: Zadny
************************************************************************/
void USART0_smaz_buffer (void)
370: 8d ef ldi r24, 0xFD ; 253
372: 91 e0 ldi r25, 0x01 ; 1
cli();
unsigned char i;
 
for (i=0; i <= VELIKOST_PRIJIMACIHO_BUFFERU;i++) // maze se cely buffer pro jistotu
{
RX0_buffer.obsah[i] = 0;
374: 11 92 st Z+, r1
void USART0_smaz_buffer (void)
{
cli();
unsigned char i;
 
for (i=0; i <= VELIKOST_PRIJIMACIHO_BUFFERU;i++) // maze se cely buffer pro jistotu
376: e8 17 cp r30, r24
378: f9 07 cpc r31, r25
37a: e1 f7 brne .-8 ; 0x374 <USART0_smaz_buffer+0xa>
{
RX0_buffer.obsah[i] = 0;
}
RX0_buffer.zaplneno_bytu = 0;
37c: 10 92 fc 01 sts 0x01FC, r1
 
 
sei();
380: 78 94 sei
}
382: 08 95 ret
 
00000384 <__vector_18>:
* Ucel: Funkce se vola pri prijmuti znaku od USART0
* Vstup: Zdroj preruseni
* Vystup: Zadny
************************************************************************/
SIGNAL (USART_RX_vect)
{
384: 1f 92 push r1
386: 0f 92 push r0
388: 0f b6 in r0, 0x3f ; 63
38a: 0f 92 push r0
38c: 11 24 eor r1, r1
38e: 2f 93 push r18
390: 3f 93 push r19
392: 4f 93 push r20
394: 5f 93 push r21
396: 6f 93 push r22
398: 7f 93 push r23
39a: 8f 93 push r24
39c: 9f 93 push r25
39e: af 93 push r26
3a0: bf 93 push r27
3a2: cf 93 push r28
3a4: ef 93 push r30
3a6: ff 93 push r31
char znak = UDR0;
3a8: c0 91 c6 00 lds r28, 0x00C6
if (RX0_buffer.zaplneno_bytu < VELIKOST_PRIJIMACIHO_BUFFERU-1)
3ac: 80 91 fc 01 lds r24, 0x01FC
3b0: 83 3f cpi r24, 0xF3 ; 243
3b2: 50 f4 brcc .+20 ; 0x3c8 <__vector_18+0x44>
{
RX0_buffer.obsah[RX0_buffer.zaplneno_bytu] = znak;
3b4: e8 e0 ldi r30, 0x08 ; 8
3b6: f1 e0 ldi r31, 0x01 ; 1
3b8: e8 0f add r30, r24
3ba: f1 1d adc r31, r1
3bc: c0 83 st Z, r28
RX0_buffer.obsah[RX0_buffer.zaplneno_bytu+1] = 0; // konec stringu
3be: 11 82 std Z+1, r1 ; 0x01
RX0_buffer.zaplneno_bytu++;
3c0: 8f 5f subi r24, 0xFF ; 255
3c2: 80 93 fc 01 sts 0x01FC, r24
3c6: 0c c0 rjmp .+24 ; 0x3e0 <__vector_18+0x5c>
}
else
{
USART0_smaz_buffer();
3c8: 0e 94 b5 01 call 0x36a ; 0x36a <USART0_smaz_buffer>
RX0_buffer.obsah[RX0_buffer.zaplneno_bytu] = znak;
3cc: 80 91 fc 01 lds r24, 0x01FC
3d0: e8 e0 ldi r30, 0x08 ; 8
3d2: f1 e0 ldi r31, 0x01 ; 1
3d4: e8 0f add r30, r24
3d6: f1 1d adc r31, r1
3d8: c0 83 st Z, r28
RX0_buffer.zaplneno_bytu++;
3da: 8f 5f subi r24, 0xFF ; 255
3dc: 80 93 fc 01 sts 0x01FC, r24
}
if (zacatek_zpravy != 1 && strstr(RX0_buffer.obsah,"$GPGGA") != 0)
3e0: 80 91 25 03 lds r24, 0x0325
3e4: 81 30 cpi r24, 0x01 ; 1
3e6: 69 f0 breq .+26 ; 0x402 <__vector_18+0x7e>
3e8: 88 e0 ldi r24, 0x08 ; 8
3ea: 91 e0 ldi r25, 0x01 ; 1
3ec: 60 e0 ldi r22, 0x00 ; 0
3ee: 71 e0 ldi r23, 0x01 ; 1
3f0: 0e 94 63 02 call 0x4c6 ; 0x4c6 <strstr>
3f4: 00 97 sbiw r24, 0x00 ; 0
3f6: 29 f0 breq .+10 ; 0x402 <__vector_18+0x7e>
{
zacatek_zpravy = 1;
3f8: 81 e0 ldi r24, 0x01 ; 1
3fa: 80 93 25 03 sts 0x0325, r24
USART0_smaz_buffer(); // aby se zprava ukladala od zacatku bufferu
3fe: 0e 94 b5 01 call 0x36a ; 0x36a <USART0_smaz_buffer>
}
 
if (znak == '*' && zacatek_zpravy == 1) // cela zprava je prijata
402: ca 32 cpi r28, 0x2A ; 42
404: 81 f4 brne .+32 ; 0x426 <__vector_18+0xa2>
406: 80 91 25 03 lds r24, 0x0325
40a: 81 30 cpi r24, 0x01 ; 1
40c: 61 f4 brne .+24 ; 0x426 <__vector_18+0xa2>
{
//USART0_posli_retezec(RX0_buffer.obsah);
strcpy(NMEA_retezec.obsah,RX0_buffer.obsah); // NMEA zprava se prekopiruje do NMEA_retezec, aby pri pozadavku na vycteni dat byla data v kuse a nenastal pripad, ze bude NMEA zprava teprve vycitana.
40e: 80 e3 ldi r24, 0x30 ; 48
410: 92 e0 ldi r25, 0x02 ; 2
412: 68 e0 ldi r22, 0x08 ; 8
414: 71 e0 ldi r23, 0x01 ; 1
416: 0e 94 5c 02 call 0x4b8 ; 0x4b8 <strcpy>
NMEA_retezec.zaplneno_bytu = RX0_buffer.zaplneno_bytu;
41a: 80 91 fc 01 lds r24, 0x01FC
41e: 80 93 24 03 sts 0x0324, r24
zacatek_zpravy = 0;
422: 10 92 25 03 sts 0x0325, r1
}
}
426: ff 91 pop r31
428: ef 91 pop r30
42a: cf 91 pop r28
42c: bf 91 pop r27
42e: af 91 pop r26
430: 9f 91 pop r25
432: 8f 91 pop r24
434: 7f 91 pop r23
436: 6f 91 pop r22
438: 5f 91 pop r21
43a: 4f 91 pop r20
43c: 3f 91 pop r19
43e: 2f 91 pop r18
440: 0f 90 pop r0
442: 0f be out 0x3f, r0 ; 63
444: 0f 90 pop r0
446: 1f 90 pop r1
448: 18 95 reti
 
0000044a <USART0_posli_znak>:
* Vystup: Zadny
************************************************************************/
void USART0_posli_znak( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<UDRE0)) )
44a: e0 ec ldi r30, 0xC0 ; 192
44c: f0 e0 ldi r31, 0x00 ; 0
44e: 90 81 ld r25, Z
450: 95 ff sbrs r25, 5
452: fd cf rjmp .-6 ; 0x44e <USART0_posli_znak+0x4>
;
/* Put data into buffer, sends the data */
UDR0 = data;
454: 80 93 c6 00 sts 0x00C6, r24
}
458: 08 95 ret
 
0000045a <USART_Init>:
void USART_Init(void)
{
unsigned int baud;
baud = F_CPU/16/UART0_BAUD_RATE -1;
/* Set baud rate */
UBRR0H = (unsigned char)(baud>>8);
45a: 10 92 c5 00 sts 0x00C5, r1
UBRR0L = (unsigned char)baud;
45e: 87 e6 ldi r24, 0x67 ; 103
460: 80 93 c4 00 sts 0x00C4, r24
/* Enable receiver and transmitter, enable interrupt after receiving a new byte */
UCSR0B = (1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);
464: 88 e9 ldi r24, 0x98 ; 152
466: 80 93 c1 00 sts 0x00C1, r24
/* Set frame format: 8data, 1stop bit */
UCSR0C = (3<<UCSZ00);
46a: 86 e0 ldi r24, 0x06 ; 6
46c: 80 93 c2 00 sts 0x00C2, r24
USART0_posli_znak('A');
470: 81 e4 ldi r24, 0x41 ; 65
472: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak('K');
476: 8b e4 ldi r24, 0x4B ; 75
478: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak('\n');
47c: 8a e0 ldi r24, 0x0A ; 10
47e: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
USART0_posli_znak('\r');
482: 8d e0 ldi r24, 0x0D ; 13
484: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
//delay_ms(3000); // modulu se musi dat cas na vypocet baud rychlosti
}
488: 08 95 ret
 
0000048a <USART0_posli_retezec>:
* Ucel: Odesle postupne znak po znaku zadany retezec pres USART0
* Vstup: Retezec k odeslani
* Vystup: Zadny
************************************************************************/
void USART0_posli_retezec (const unsigned char *retezec )
{
48a: cf 93 push r28
48c: df 93 push r29
48e: ec 01 movw r28, r24
while (*retezec)
490: 88 81 ld r24, Y
492: 88 23 and r24, r24
494: 31 f0 breq .+12 ; 0x4a2 <USART0_posli_retezec+0x18>
* Funkce: USART0_posli_retezec()
* Ucel: Odesle postupne znak po znaku zadany retezec pres USART0
* Vstup: Retezec k odeslani
* Vystup: Zadny
************************************************************************/
void USART0_posli_retezec (const unsigned char *retezec )
496: 21 96 adiw r28, 0x01 ; 1
{
while (*retezec)
USART0_posli_znak(*retezec++);
498: 0e 94 25 02 call 0x44a ; 0x44a <USART0_posli_znak>
* Vstup: Retezec k odeslani
* Vystup: Zadny
************************************************************************/
void USART0_posli_retezec (const unsigned char *retezec )
{
while (*retezec)
49c: 89 91 ld r24, Y+
49e: 88 23 and r24, r24
4a0: d9 f7 brne .-10 ; 0x498 <USART0_posli_retezec+0xe>
USART0_posli_znak(*retezec++);
 
}
4a2: df 91 pop r29
4a4: cf 91 pop r28
4a6: 08 95 ret
 
000004a8 <USART0_prijmi_znak>:
* Vystup: Prijaty znak
************************************************************************/
unsigned char USART0_prijmi_znak( void )
{
/* Wait for data to be received */
while ( !(UCSR0A & (1<<RXC0)) )
4a8: e0 ec ldi r30, 0xC0 ; 192
4aa: f0 e0 ldi r31, 0x00 ; 0
4ac: 80 81 ld r24, Z
4ae: 88 23 and r24, r24
4b0: ec f7 brge .-6 ; 0x4ac <USART0_prijmi_znak+0x4>
;
/* Get and return received data from buffer */
return UDR0;
4b2: 80 91 c6 00 lds r24, 0x00C6
}
4b6: 08 95 ret
 
000004b8 <strcpy>:
4b8: fb 01 movw r30, r22
4ba: dc 01 movw r26, r24
4bc: 01 90 ld r0, Z+
4be: 0d 92 st X+, r0
4c0: 00 20 and r0, r0
4c2: e1 f7 brne .-8 ; 0x4bc <strcpy+0x4>
4c4: 08 95 ret
 
000004c6 <strstr>:
4c6: fb 01 movw r30, r22
4c8: 51 91 ld r21, Z+
4ca: 55 23 and r21, r21
4cc: a9 f0 breq .+42 ; 0x4f8 <strstr+0x32>
4ce: bf 01 movw r22, r30
4d0: dc 01 movw r26, r24
4d2: 4d 91 ld r20, X+
4d4: 45 17 cp r20, r21
4d6: 41 11 cpse r20, r1
4d8: e1 f7 brne .-8 ; 0x4d2 <strstr+0xc>
4da: 59 f4 brne .+22 ; 0x4f2 <strstr+0x2c>
4dc: cd 01 movw r24, r26
4de: 01 90 ld r0, Z+
4e0: 00 20 and r0, r0
4e2: 49 f0 breq .+18 ; 0x4f6 <strstr+0x30>
4e4: 4d 91 ld r20, X+
4e6: 40 15 cp r20, r0
4e8: 41 11 cpse r20, r1
4ea: c9 f3 breq .-14 ; 0x4de <strstr+0x18>
4ec: fb 01 movw r30, r22
4ee: 41 11 cpse r20, r1
4f0: ef cf rjmp .-34 ; 0x4d0 <strstr+0xa>
4f2: 81 e0 ldi r24, 0x01 ; 1
4f4: 90 e0 ldi r25, 0x00 ; 0
4f6: 01 97 sbiw r24, 0x01 ; 1
4f8: 08 95 ret
 
000004fa <_exit>:
4fa: f8 94 cli
 
000004fc <__stop_program>:
4fc: ff cf rjmp .-2 ; 0x4fc <__stop_program>
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/Balon_sonda.map
0,0 → 1,480
Archive member included because of file (symbol)
 
c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o (exit)
c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
Balon_sonda.o (__do_copy_data)
c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
Balon_sonda.o (__do_clear_bss)
c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strcpy.o)
uart.o (strcpy)
c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strstr.o)
uart.o (strstr)
 
Allocating common symbols
Common symbol size file
 
RX0_buffer 0xf5 Balon_sonda.o
odesli_data_check 0x1 Balon_sonda.o
Altitude 0xa Balon_sonda.o
UTC_time 0x7 Balon_sonda.o
Datum 0x6 Balon_sonda.o
Latitude 0xd Balon_sonda.o
Longitude 0xe Balon_sonda.o
NMEA_retezec 0xf5 Balon_sonda.o
zacatek_zpravy 0x1 Balon_sonda.o
pocet_prubehu_casovace
0x1 Balon_sonda.o
Status_GPS 0x1 Balon_sonda.o
 
Memory Configuration
 
Name Origin Length Attributes
text 0x00000000 0x00020000 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
*default* 0x00000000 0xffffffff
 
Linker script and memory map
 
Address of section .data set to 0x800100
LOAD c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
LOAD Balon_sonda.o
LOAD LED.o
LOAD Timers.o
LOAD uart.o
START GROUP
LOAD c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a
END GROUP
LOAD c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a
LOAD c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a
LOAD c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a
 
.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 0x4fe
*(.vectors)
.vectors 0x00000000 0x68 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
0x00000000 __vector_default
0x00000000 __vectors
*(.vectors)
*(.progmem.gcc*)
*(.progmem*)
0x00000068 . = ALIGN (0x2)
0x00000068 __trampolines_start = .
*(.trampolines)
.trampolines 0x00000068 0x0 linker stubs
*(.trampolines*)
0x00000068 __trampolines_end = .
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x00000068 __ctors_start = .
*(.ctors)
0x00000068 __ctors_end = .
0x00000068 __dtors_start = .
*(.dtors)
0x00000068 __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x00000068 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
0x00000068 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x00000068 0xc c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x00000074 0x16 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
0x00000074 __do_copy_data
.init4 0x0000008a 0x10 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
0x0000008a __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x0000009a 0x8 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
*(.init9)
*(.text)
.text 0x000000a2 0x4 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
0x000000a2 __vector_22
0x000000a2 __vector_1
0x000000a2 __vector_24
0x000000a2 __vector_12
0x000000a2 __bad_interrupt
0x000000a2 __vector_6
0x000000a2 __vector_3
0x000000a2 __vector_23
0x000000a2 __vector_25
0x000000a2 __vector_13
0x000000a2 __vector_17
0x000000a2 __vector_19
0x000000a2 __vector_7
0x000000a2 __vector_5
0x000000a2 __vector_4
0x000000a2 __vector_9
0x000000a2 __vector_2
0x000000a2 __vector_21
0x000000a2 __vector_15
0x000000a2 __vector_8
0x000000a2 __vector_14
0x000000a2 __vector_10
0x000000a2 __vector_16
0x000000a2 __vector_20
.text 0x000000a6 0x118 Balon_sonda.o
0x000000a6 main
0x00000156 __vector_11
.text 0x000001be 0x16 LED.o
0x000001be LEDs_init
0x000001c4 LED_horni_on
0x000001c8 LED_horni_off
0x000001cc LED_spodni_on
0x000001d0 LED_spodni_off
.text 0x000001d4 0x36 Timers.o
0x000001d4 Timer1_init
.text 0x0000020a 0x2ae uart.o
0x0000020a dekoduj_zpravu_GPS
0x0000036a USART0_smaz_buffer
0x00000384 __vector_18
0x0000044a USART0_posli_znak
0x0000045a USART_Init
0x0000048a USART0_posli_retezec
0x000004a8 USART0_prijmi_znak
.text 0x000004b8 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
.text 0x000004b8 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
.text 0x000004b8 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
.text 0x000004b8 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strcpy.o)
.text 0x000004b8 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strstr.o)
0x000004b8 . = ALIGN (0x2)
*(.text.*)
.text.libgcc 0x000004b8 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
.text.libgcc 0x000004b8 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
.text.libgcc 0x000004b8 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
.text.avr-libc
0x000004b8 0xe c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strcpy.o)
0x000004b8 strcpy
.text.avr-libc
0x000004c6 0x34 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strstr.o)
0x000004c6 strstr
0x000004fa . = ALIGN (0x2)
*(.fini9)
.fini9 0x000004fa 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
0x000004fa _exit
0x000004fa exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x000004fa 0x4 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
*(.fini0)
0x000004fe _etext = .
 
.data 0x00800100 0x8 load address 0x000004fe
0x00800100 PROVIDE (__data_start, .)
*(.data)
.data 0x00800100 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
.data 0x00800100 0x0 Balon_sonda.o
.data 0x00800100 0x0 LED.o
.data 0x00800100 0x0 Timers.o
.data 0x00800100 0x7 uart.o
.data 0x00800107 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
.data 0x00800107 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
.data 0x00800107 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
.data 0x00800107 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strcpy.o)
.data 0x00800107 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strstr.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x00800108 . = ALIGN (0x2)
*fill* 0x00800107 0x1 00
0x00800108 _edata = .
0x00800108 PROVIDE (__data_end, .)
 
.bss 0x00800108 0x220
0x00800108 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800108 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
.bss 0x00800108 0x0 Balon_sonda.o
.bss 0x00800108 0x0 LED.o
.bss 0x00800108 0x0 Timers.o
.bss 0x00800108 0x0 uart.o
.bss 0x00800108 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
.bss 0x00800108 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
.bss 0x00800108 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
.bss 0x00800108 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strcpy.o)
.bss 0x00800108 0x0 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strstr.o)
*(.bss*)
*(COMMON)
COMMON 0x00800108 0x220 Balon_sonda.o
0x00800108 RX0_buffer
0x008001fd odesli_data_check
0x008001fe Altitude
0x00800208 UTC_time
0x0080020f Datum
0x00800215 Latitude
0x00800222 Longitude
0x00800230 NMEA_retezec
0x00800325 zacatek_zpravy
0x00800326 pocet_prubehu_casovace
0x00800327 Status_GPS
0x00800328 PROVIDE (__bss_end, .)
0x000004fe __data_load_start = LOADADDR (.data)
0x00000506 __data_load_end = (__data_load_start + SIZEOF (.data))
 
.noinit 0x00800328 0x0
0x00800328 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00800328 PROVIDE (__noinit_end, .)
0x00800328 _end = .
0x00800328 PROVIDE (__heap_start, .)
 
.eeprom 0x00810000 0x0
*(.eeprom*)
0x00810000 __eeprom_end = .
 
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
 
.lock
*(.lock*)
 
.signature
*(.signature*)
 
.stab 0x00000000 0x888
*(.stab)
.stab 0x00000000 0x6cc c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
.stab 0x000006cc 0x6c c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strcpy.o)
0x78 (size before relaxing)
.stab 0x00000738 0x150 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libc.a(strstr.o)
0x15c (size before relaxing)
 
.stabstr 0x00000000 0x149
*(.stabstr)
.stabstr 0x00000000 0x149 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5/crtm328.o
 
.stab.excl
*(.stab.excl)
 
.stab.exclstr
*(.stab.exclstr)
 
.stab.index
*(.stab.index)
 
.stab.indexstr
*(.stab.indexstr)
 
.comment
*(.comment)
 
.debug
*(.debug)
 
.line
*(.line)
 
.debug_srcinfo
*(.debug_srcinfo)
 
.debug_sfnames
*(.debug_sfnames)
 
.debug_aranges 0x00000000 0xe0
*(.debug_aranges)
.debug_aranges
0x00000000 0x20 Balon_sonda.o
.debug_aranges
0x00000020 0x20 LED.o
.debug_aranges
0x00000040 0x20 Timers.o
.debug_aranges
0x00000060 0x20 uart.o
.debug_aranges
0x00000080 0x20 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
.debug_aranges
0x000000a0 0x20 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
.debug_aranges
0x000000c0 0x20 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
 
.debug_pubnames
*(.debug_pubnames)
 
.debug_info 0x00000000 0x9b1
*(.debug_info)
.debug_info 0x00000000 0x248 Balon_sonda.o
.debug_info 0x00000248 0xd2 LED.o
.debug_info 0x0000031a 0x7e Timers.o
.debug_info 0x00000398 0x382 uart.o
.debug_info 0x0000071a 0xdd c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
.debug_info 0x000007f7 0xdd c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
.debug_info 0x000008d4 0xdd c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
*(.gnu.linkonce.wi.*)
 
.debug_abbrev 0x00000000 0x2bc
*(.debug_abbrev)
.debug_abbrev 0x00000000 0xba Balon_sonda.o
.debug_abbrev 0x000000ba 0x4c LED.o
.debug_abbrev 0x00000106 0x4c Timers.o
.debug_abbrev 0x00000152 0x12e uart.o
.debug_abbrev 0x00000280 0x14 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
.debug_abbrev 0x00000294 0x14 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
.debug_abbrev 0x000002a8 0x14 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
 
.debug_line 0x00000000 0x5e9
*(.debug_line)
.debug_line 0x00000000 0x10f Balon_sonda.o
.debug_line 0x0000010f 0xe0 LED.o
.debug_line 0x000001ef 0xd6 Timers.o
.debug_line 0x000002c5 0x17d uart.o
.debug_line 0x00000442 0x88 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_exit.o)
.debug_line 0x000004ca 0x91 c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_copy_data.o)
.debug_line 0x0000055b 0x8e c:/program files/atmel/atmel studio 6.0/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/avr5\libgcc.a(_clear_bss.o)
 
.debug_frame 0x00000000 0x238
*(.debug_frame)
.debug_frame 0x00000000 0x7c Balon_sonda.o
.debug_frame 0x0000007c 0x64 LED.o
.debug_frame 0x000000e0 0x24 Timers.o
.debug_frame 0x00000104 0x134 uart.o
 
.debug_str 0x00000000 0x26a
*(.debug_str)
.debug_str 0x00000000 0x160 Balon_sonda.o
0x199 (size before relaxing)
.debug_str 0x00000160 0x4d LED.o
0x119 (size before relaxing)
.debug_str 0x000001ad 0x1a Timers.o
0xe6 (size before relaxing)
.debug_str 0x000001c7 0xa3 uart.o
0x225 (size before relaxing)
 
.debug_loc 0x00000000 0x403
*(.debug_loc)
.debug_loc 0x00000000 0xcb Balon_sonda.o
.debug_loc 0x000000cb 0x338 uart.o
 
.debug_macinfo
*(.debug_macinfo)
OUTPUT(Balon_sonda.elf elf32-avr)
LOAD linker stubs
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/LED.d
0,0 → 1,39
LED.d LED.o: .././LED.c .././LED.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328p.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h
 
.././LED.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328p.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h:
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/Makefile
0,0 → 1,143
################################################################################
# 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:=
 
# Every subdirectory with source files must be described here
SUBDIRS :=
 
 
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../Balon_sonda.c \
../LED.c \
../Timers.c \
../uart.c
 
 
PREPROCESSING_SRCS +=
 
 
ASM_SRCS +=
 
 
OBJS += \
Balon_sonda.o \
LED.o \
Timers.o \
uart.o
 
 
OBJS_AS_ARGS += \
Balon_sonda.o \
LED.o \
Timers.o \
uart.o
 
 
C_DEPS += \
Balon_sonda.d \
LED.d \
Timers.d \
uart.d
 
 
C_DEPS_AS_ARGS += \
Balon_sonda.d \
LED.d \
Timers.d \
uart.d
 
 
OUTPUT_FILE_PATH +=Balon_sonda.elf
 
OUTPUT_FILE_PATH_AS_ARGS +=Balon_sonda.elf
 
ADDITIONAL_DEPENDENCIES:=
 
OUTPUT_FILE_DEP:= ./makedep.mk
 
# AVR32/GNU C Compiler
 
 
 
 
 
 
 
 
 
./%.o: .././%.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.0_663) 4.6.2
$(QUOTE)C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -mmcu=atmega328 -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)
@echo Building target: $@
@echo Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.0_663) 4.6.2
$(QUOTE)C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Balon_sonda.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -mmcu=atmega328
@echo Finished building target: $@
"C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "Balon_sonda.elf" "Balon_sonda.hex"
"C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Balon_sonda.elf" "Balon_sonda.eep" || exit 0
"C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-objdump.exe" -h -S "Balon_sonda.elf" > "Balon_sonda.lss"
"C:\Program Files\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-size.exe" "Balon_sonda.elf"
 
 
 
 
 
# Other Targets
clean:
-$(RM) $(OBJS_AS_ARGS)$(C_DEPS_AS_ARGS) $(EXECUTABLES)
rm -rf "Balon_sonda.elf" "Balon_sonda.a" "Balon_sonda.hex" "Balon_sonda.lss" "Balon_sonda.eep" "Balon_sonda.map"
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/Timers.d
0,0 → 1,37
Timers.d Timers.o: .././Timers.c \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328p.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328p.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h:
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/makedep.mk
0,0 → 1,12
################################################################################
# Automatically-generated file. Do not edit or delete the file
################################################################################
 
Balon_sonda.c
 
LED.c
 
Timers.c
 
uart.c
 
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Debug/uart.d
0,0 → 1,65
uart.d uart.o: .././uart.c \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328p.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdlib.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stddef.h \
.././uart.h .././LED.h .././Globals.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/string.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h \
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/io.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/sfr_defs.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/inttypes.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stdint.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdint.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/iom328p.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/portpins.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/common.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/version.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/fuse.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/lock.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/stdlib.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/include/stddef.h:
 
.././uart.h:
 
.././LED.h:
 
.././Globals.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/interrupt.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/string.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay_basic.h:
 
c:\program\ files\atmel\atmel\ studio\ 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h:
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Globals.h
0,0 → 1,28
/*
* Globals.h
*
* Created: 30.11.2011 22:24:05
* Author: Zbynek
*/
 
 
#ifndef GLOBALS_H_
#define GLOBALS_H_
 
 
#define F_CPU 16E6
#define PERIODA_VYCITANI 1 // PERIODA_VYCITANI * 4 = perioda vycitani dat (s).
/************************************************************************/
/* Globalni promenne */
/************************************************************************/
unsigned char UTC_time[7];
unsigned char Status_GPS;
unsigned char Latitude[13]; // o jeden znak delsi, nez by bylo treba, ale na posledni misto se kopiruje znak konce stringu 0
unsigned char Longitude[14];
unsigned char Altitude[10];
unsigned char Datum[6];
char zacatek_zpravy;
unsigned char odesli_data_check; // data se vycitaji jen jednou za urcity interval, tato promenna rika, ze nastal cas pro vycteni a odeslani dat
volatile unsigned char pocet_prubehu_casovace; // kolikrat se spusti casovac, nez se odeslou data
 
#endif /* GLOBALS_H_ */
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/LED.c
0,0 → 1,66
/*
* LED.c
*
* Created: 30.11.2011 21:51:11
* Author: Zbynek
* poskocil@email.cz
*
* Funkce pro praci s LED diodami na modulu
*/
#include "LED.h"
#include <avr/io.h>
 
/************************************************************************
* Funkce: LEDs_init()
* Ucel: Nastavi PINy, na kterych jsou LED jako vystupy
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LEDs_init(void)
{
DDRB = (1<<DDB0)|(1<<DDB1);
}
 
/************************************************************************
* Funkce: LED_horni_on()
* Ucel: Rozsviti LED, ktera je blize pojistce
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LED_horni_on(void)
{
PORTB |= (1<<PB0);
}
 
/************************************************************************
* Funkce: LED_horni_off()
* Ucel: Zhasne LED, ktera je blize pojistce
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LED_horni_off(void)
{
PORTB &= ~(1<<PB0);
}
 
/************************************************************************
* Funkce: LED_spodni_on()
* Ucel: Rozsviti LED, ktera je dale od pojistky
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LED_spodni_on(void)
{
PORTB |= (1<<PB1);
}
 
/************************************************************************
* Funkce: LED_spodni_off()
* Ucel: Zhasne LED, ktera je dale od pojistky
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
volatile void LED_spodni_off(void)
{
PORTB &= ~(1<<PB1);
}
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/LED.h
0,0 → 1,22
/*
* LED.h
*
* Created: 30.11.2011 21:50:40
* Author: Zbynek
* poskocil@email.cz
*/
 
 
#ifndef LED_H_
#define LED_H_
 
volatile void LEDs_init(void);
volatile void LED_horni_on(void);
volatile void LED_horni_off(void);
volatile void LED_spodni_on(void);
volatile void LED_spodni_off(void);
 
 
 
 
#endif /* LED_H_ */
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Timers.c
0,0 → 1,25
/*
* Timers.c
*
* Created: 17.4.2013 19:04:37
* Author: Zbynek
*/
 
#include <avr/io.h>
 
void Timer1_init(void)
{
TCCR1B |= 1<<WGM12; // T1 in CTC mode
TCCR1B |= 1<<CS12; // f_osc/1024
TCCR1B |= 1<<CS10; // f_osc/1024
 
OCR1AH = 0xF4; // Start value in counter ~4s
OCR1AL = 0x24;
 
TCNT1H = 0; // Start value in counter
TCNT1L = 0;
 
TIMSK1 |= 1<<OCIE1A; // enable interrupt from T1 when compare match
}
 
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/Timers.h
0,0 → 1,16
/*
* Timers.h
*
* Created: 17.4.2013 19:04:52
* Author: Zbynek
*/
 
 
#ifndef TIMERS_H_
#define TIMERS_H_
void Timer1_init(void);
 
 
 
 
#endif /* TIMERS_H_ */
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/uart.c
0,0 → 1,210
/*
* uart.c
*
* Created: 29.11.2011 19:24:29
* Author: Zbynek
* poskocil@email.cz
* Funkce pro praci s USARTem - inicializace, prijem a odeslani znaku
*/
 
#include <avr/io.h>
#include <stdlib.h>
#include "uart.h"
#include "LED.h"
#include "Globals.h"
#include <avr/interrupt.h>
#include <string.h>
#include <util/delay.h>
 
 
 
 
/************************************************************************
* Funkce: SIGNAL
* Ucel: Funkce se vola pri prijmuti znaku od USART0
* Vstup: Zdroj preruseni
* Vystup: Zadny
************************************************************************/
SIGNAL (USART_RX_vect)
{
char znak = UDR0;
if (RX0_buffer.zaplneno_bytu < VELIKOST_PRIJIMACIHO_BUFFERU-1)
{
RX0_buffer.obsah[RX0_buffer.zaplneno_bytu] = znak;
RX0_buffer.obsah[RX0_buffer.zaplneno_bytu+1] = 0; // konec stringu
RX0_buffer.zaplneno_bytu++;
}
else
{
USART0_smaz_buffer();
RX0_buffer.obsah[RX0_buffer.zaplneno_bytu] = znak;
RX0_buffer.zaplneno_bytu++;
}
if (zacatek_zpravy != 1 && strstr(RX0_buffer.obsah,"$GPGGA") != 0)
{
zacatek_zpravy = 1;
USART0_smaz_buffer(); // aby se zprava ukladala od zacatku bufferu
}
 
if (znak == '*' && zacatek_zpravy == 1) // cela zprava je prijata
{
//USART0_posli_retezec(RX0_buffer.obsah);
strcpy(NMEA_retezec.obsah,RX0_buffer.obsah); // NMEA zprava se prekopiruje do NMEA_retezec, aby pri pozadavku na vycteni dat byla data v kuse a nenastal pripad, ze bude NMEA zprava teprve vycitana.
NMEA_retezec.zaplneno_bytu = RX0_buffer.zaplneno_bytu;
zacatek_zpravy = 0;
}
}
 
 
 
/************************************************************************
* Funkce: dekoduj_zpravu_GPS
* Ucel: Z RX0_buffer vytahne informace o soucasne poloze, je tam ulozena cela veta RMC
* Vstup: Zadny
* Vystup: Zadny
************************************************************************/
void dekoduj_zpravu_GPS (void)
{
cli();
short i, j = 0, k = 0, l = 0;
short pocet_carek = 0;
for ( i = 0; i < NMEA_retezec.zaplneno_bytu; i++)
{
if (pocet_carek == 1)
{
UTC_time[l] = NMEA_retezec.obsah[i];
l++;
}
if (pocet_carek == 2 || pocet_carek == 3)
{
Latitude[k] = NMEA_retezec.obsah[i];
k++;
}
if (pocet_carek == 4 || pocet_carek == 5)
{
 
Longitude[j] = NMEA_retezec.obsah[i];
j++;
}
if (pocet_carek == 6)
{
UTC_time[l-1] = 0;
Latitude[k-1] = 0;
Longitude[j-1] = 0;
 
Status_GPS = NMEA_retezec.obsah[i-1];
j = 0;
}
if (pocet_carek == 9)
{
Altitude[j] = NMEA_retezec.obsah[i];
j++;
}
if (NMEA_retezec.obsah[i] == ',')
{
pocet_carek++;
}
if (pocet_carek >9)
{
Altitude[j-1] = 0; // konec Stringu
break; // nema vyznam dal zapisovat, potrebne je zapsano v Altitude
}
}
sei();
}
 
/************************************************************************
* Funkce: USART0_smaz_buffer
* Ucel: Smaze (zaplni nulami) prijimaci buffer
* Vstup: Jaky buffer ma smazat (pro USART 0 nebo 1)
* Vystup: Zadny
************************************************************************/
void USART0_smaz_buffer (void)
{
cli();
unsigned char i;
 
for (i=0; i <= VELIKOST_PRIJIMACIHO_BUFFERU;i++) // maze se cely buffer pro jistotu
{
RX0_buffer.obsah[i] = 0;
}
RX0_buffer.zaplneno_bytu = 0;
 
 
sei();
}
 
/************************************************************************
* Funkce: USART_Init()
* Ucel: Inicializuje oba USARTy a nastavi rychslost v baud, je treba definovat pozadovanou rychlost pomoci #define UARTn_BAUD_RATE
* Zapne preruseni pri prichodu noveho znaku a globalni preruseni
* Vstup: Frekvence procesoru
* Vystup: Zadny
************************************************************************/
void USART_Init(void)
{
unsigned int baud;
baud = F_CPU/16/UART0_BAUD_RATE -1;
/* Set baud rate */
UBRR0H = (unsigned char)(baud>>8);
UBRR0L = (unsigned char)baud;
/* Enable receiver and transmitter, enable interrupt after receiving a new byte */
UCSR0B = (1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);
/* Set frame format: 8data, 1stop bit */
UCSR0C = (3<<UCSZ00);
USART0_posli_znak('A');
USART0_posli_znak('K');
USART0_posli_znak('\n');
USART0_posli_znak('\r');
//delay_ms(3000); // modulu se musi dat cas na vypocet baud rychlosti
}
 
/************************************************************************
* Funkce: USART0_posli_znak()
* Ucel: Posle znak po seriove lince, hned pote, co se uvolni vysilaci buffer
* Vstup: Znak, ktery se ma odeslat
* Vystup: Zadny
************************************************************************/
void USART0_posli_znak( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<UDRE0)) )
;
/* Put data into buffer, sends the data */
UDR0 = data;
}
 
/************************************************************************
* Funkce: USART0_posli_retezec()
* Ucel: Odesle postupne znak po znaku zadany retezec pres USART0
* Vstup: Retezec k odeslani
* Vystup: Zadny
************************************************************************/
void USART0_posli_retezec (const unsigned char *retezec )
{
while (*retezec)
USART0_posli_znak(*retezec++);
 
}
 
/************************************************************************
* Funkce: USART0_prijmi_znak()
* Ucel: Prijme znak ze seriove linky, pokud je nejaky neprecteny znak
* Vstup: Zadny
* Vystup: Prijaty znak
************************************************************************/
unsigned char USART0_prijmi_znak( void )
{
/* Wait for data to be received */
while ( !(UCSR0A & (1<<RXC0)) )
;
/* Get and return received data from buffer */
return UDR0;
}
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda/uart.h
0,0 → 1,41
/*
* uart.h
*
* Created: 29.11.2011 19:24:39
* Author: Zbynek
poskocil@email.cz
*/
 
 
#ifndef UART_H_
#define UART_H_
/************************************************************************/
/* Definice konstant */
/************************************************************************/
#define UART0_BAUD_RATE 9600
#define VELIKOST_PRIJIMACIHO_BUFFERU 244 // MAX 255 velikost bufferu pro uchovani prichozich zprav z USARTn v bytech
 
/************************************************************************/
/* Definice struktur */
/************************************************************************/
typedef struct
{
char obsah[VELIKOST_PRIJIMACIHO_BUFFERU];
unsigned char zaplneno_bytu;
} RX_buffer;
 
RX_buffer RX0_buffer;
RX_buffer NMEA_retezec;
 
/************************************************************************/
/* Deklarace funkci */
/************************************************************************/
void USART0_posli_znak( unsigned char data);
unsigned char USART0_prijmi_znak( void );
void USART0_posli_retezec (const unsigned char *retezec);
void USART_Init(void);
void USART0_smaz_buffer (void);
void dekoduj_zpravu_GPS (void);
 
#endif /* UART_H_ */
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda.atsln
0,0 → 1,20

Microsoft Visual Studio Solution File, Format Version 11.00
# Atmel Studio Solution File, Format Version 11.00
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "Balon_sonda", "Balon_sonda\Balon_sonda.cproj", "{5FC05F7E-6372-49E5-B196-716989868C15}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AVR = Debug|AVR
Release|AVR = Release|AVR
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5FC05F7E-6372-49E5-B196-716989868C15}.Debug|AVR.ActiveCfg = Debug|AVR
{5FC05F7E-6372-49E5-B196-716989868C15}.Debug|AVR.Build.0 = Debug|AVR
{5FC05F7E-6372-49E5-B196-716989868C15}.Release|AVR.ActiveCfg = Release|AVR
{5FC05F7E-6372-49E5-B196-716989868C15}.Release|AVR.Build.0 = Release|AVR
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
/Designs/Measuring_instruments/ABL01A/SW/Balon_sonda/Balon_sonda.atsuo
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property