working on next version

This commit is contained in:
Lucas Pleß 2014-02-14 01:09:04 +01:00
parent 6d85e932aa
commit 0b0e5188f6
42 changed files with 38922 additions and 23 deletions

BIN
IMG_20130614_231050.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
IMG_20130614_231100.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
IMG_20130615_031826.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
IMG_20130615_031850.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
IMG_20130615_113103.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
IMG_20130615_113112.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

1381
display/pb_mainboard_v2.brd Normal file

File diff suppressed because it is too large Load Diff

15592
display/pb_mainboard_v2.sch Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
display/pb_v3/NSC.pdf Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

BIN
display/powzen05.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
display/slua181.pdf Normal file

Binary file not shown.

BIN
display/slvs719f.pdf Normal file

Binary file not shown.

View File

@ -4,6 +4,7 @@
<modules>
<module fileurl="file://$PROJECT_DIR$/displayboard/displayboard.iml" filepath="$PROJECT_DIR$/displayboard/displayboard.iml" />
<module fileurl="file://$PROJECT_DIR$/powerboard/powerboard.iml" filepath="$PROJECT_DIR$/powerboard/powerboard.iml" />
<module fileurl="file://$PROJECT_DIR$/powerboard_v2/powerboard_v2.iml" filepath="$PROJECT_DIR$/powerboard_v2/powerboard_v2.iml" />
</modules>
</component>
</project>

View File

@ -2,17 +2,21 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="9fad4545-a424-4a82-86dc-76602cf3eef3" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/displayboard/src/main.c" afterPath="$PROJECT_DIR$/displayboard/src/main.c" />
<change type="DELETED" beforePath="$PROJECT_DIR$/powerboard_v2/powerboard.iml" afterPath="" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/powerboard_v2/src/main.c" afterPath="$PROJECT_DIR$/powerboard_v2/src/main.c" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/powerboard_v2/src/main.h" afterPath="$PROJECT_DIR$/powerboard_v2/src/main.h" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/modules.xml" afterPath="$PROJECT_DIR$/.idea/modules.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
</list>
<ignored path="bikegenerator.iws" />
<ignored path=".idea/workspace.xml" />
<file path="/Makefile" changelist="9fad4545-a424-4a82-86dc-76602cf3eef3" time="1371032328243" ignored="false" />
<file path="/Dummy.txt" changelist="9fad4545-a424-4a82-86dc-76602cf3eef3" time="1371263684796" ignored="false" />
<file path="/Dummy.txt" changelist="9fad4545-a424-4a82-86dc-76602cf3eef3" time="1392331539190" ignored="false" />
<file path="/main.c" changelist="9fad4545-a424-4a82-86dc-76602cf3eef3" time="1371265283096" ignored="false" />
<file path="/uart.c" changelist="9fad4545-a424-4a82-86dc-76602cf3eef3" time="1371164805619" ignored="false" />
<file path="/a.java" changelist="9fad4545-a424-4a82-86dc-76602cf3eef3" time="1371206947114" ignored="false" />
<file path="/utils.c" changelist="9fad4545-a424-4a82-86dc-76602cf3eef3" time="1371240856046" ignored="false" />
<file path="$PROJECT_DIR$/../../../../crestyle/kunden/kermax/coding/tv_geo/atlassian-ide-plugin.xml" changelist="9fad4545-a424-4a82-86dc-76602cf3eef3" time="1392332770185" ignored="false" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -27,6 +31,7 @@
<disable_hints />
</component>
<component name="DebuggerManager">
<ui_properties default_suspend_policy="SuspendAll" default_condition_enabled="true" />
<breakpoint_any default_suspend_policy="SuspendAll" default_condition_enabled="true">
<breakpoint>
<option name="NOTIFY_CAUGHT" value="true" />
@ -63,7 +68,6 @@
<option name="LOG_MESSAGE" value="" />
</breakpoint>
</breakpoint_any>
<ui_properties default_suspend_policy="SuspendAll" default_condition_enabled="true" />
<breakpoint_rules />
<ui_properties />
</component>
@ -87,9 +91,6 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/powerboard/src/uart.c" />
<option value="$PROJECT_DIR$/powerboard/src/asciiart.h" />
<option value="$PROJECT_DIR$/powerboard/src/adc.h" />
<option value="$PROJECT_DIR$/powerboard/src/adc.c" />
<option value="$PROJECT_DIR$/powerboard/src/uart.h" />
<option value="$PROJECT_DIR$/displayboard/src/utils.h" />
@ -103,14 +104,16 @@
<option value="$PROJECT_DIR$/powerboard/src/utils.h" />
<option value="$PROJECT_DIR$/powerboard/src/main.c" />
<option value="$PROJECT_DIR$/displayboard/src/main.c" />
<option value="/usr/lib/avr/include/avr/sfr_defs.h" />
<option value="$PROJECT_DIR$/powerboard_v2/src/main.c" />
<option value="/usr/lib/avr/include/stdint.h" />
</list>
</option>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-4" />
<option name="y" value="25" />
<option name="width" value="1608" />
<option name="height" value="853" />
<option name="x" value="1596" />
<option name="width" value="1928" />
<option name="height" value="1176" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
@ -169,7 +172,6 @@
<sortByType />
</navigator>
<panes>
<pane id="PackagesPane" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -178,6 +180,30 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="bikegenerator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="powerboard_v2" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="bikegenerator" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="powerboard_v2" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="bikegenerator" />
@ -205,6 +231,7 @@
</subPane>
</pane>
<pane id="Scope" />
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
@ -419,10 +446,11 @@
<servers />
</component>
<component name="ToolWindowManager">
<frame x="-4" y="25" width="1608" height="853" extended-state="6" />
<frame x="1596" y="0" width="1928" height="1176" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3243626" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
<window_info id="Atlassian " active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
@ -436,7 +464,7 @@
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.3011583" sideWeight="0.67563736" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2497332" sideWeight="0.67563736" order="0" side_tool="false" content_ui="combo" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
@ -524,6 +552,25 @@
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="atlassian-ide-plugin-workspace">
<option name="bambooConfiguration">
<BambooWorkspaceConfiguration>
<option name="view">
<BambooViewConfigurationBean />
</option>
</BambooWorkspaceConfiguration>
</option>
<option name="defaultCredentials">
<UserCfgBean />
</option>
</component>
<component name="atlassian-ide-plugin-workspace-issues">
<option name="view">
<JiraViewConfigurationBean>
<option name="viewFilterId" value="" />
</JiraViewConfigurationBean>
</option>
</component>
<component name="masterDetails">
<states>
<state key="ArtifactsStructureConfigurable.UI">

View File

@ -0,0 +1,6 @@
<atlassian-ide-plugin>
<project-configuration id="1">
<servers id="2" />
<default-jira-server id="3">a36e3af5-abd2-4783-a6a6-3383b8cb560f</default-jira-server>
</project-configuration>
</atlassian-ide-plugin>

View File

@ -0,0 +1,33 @@
src/adc.o: src/adc.c /usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/sfr_defs.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/inttypes.h \
/usr/lib/gcc/avr/4.7.2/include/stdint.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/stdint.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom8.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/portpins.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/common.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/version.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/fuse.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/lock.h
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/sfr_defs.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/inttypes.h:
/usr/lib/gcc/avr/4.7.2/include/stdint.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/stdint.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom8.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/portpins.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/common.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/version.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/fuse.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/lock.h:

View File

@ -0,0 +1,52 @@
src/main.o: src/main.c \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/sfr_defs.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/inttypes.h \
/usr/lib/gcc/avr/4.7.2/include/stdint.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/stdint.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom8.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/portpins.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/common.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/version.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/fuse.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/lock.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/interrupt.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/pgmspace.h \
/usr/lib/gcc/avr/4.7.2/include/stddef.h src/utils.h src/main.h src/adc.h \
src/uart.h
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/sfr_defs.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/inttypes.h:
/usr/lib/gcc/avr/4.7.2/include/stdint.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/stdint.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom8.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/portpins.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/common.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/version.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/fuse.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/lock.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/interrupt.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/pgmspace.h:
/usr/lib/gcc/avr/4.7.2/include/stddef.h:
src/utils.h:
src/main.h:
src/adc.h:
src/uart.h:

View File

@ -0,0 +1,45 @@
src/uart.o: src/uart.c \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/sfr_defs.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/inttypes.h \
/usr/lib/gcc/avr/4.7.2/include/stdint.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/stdint.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom8.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/portpins.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/common.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/version.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/fuse.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/lock.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/interrupt.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/pgmspace.h \
/usr/lib/gcc/avr/4.7.2/include/stddef.h src/uart.h
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/sfr_defs.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/inttypes.h:
/usr/lib/gcc/avr/4.7.2/include/stdint.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/stdint.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom8.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/portpins.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/common.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/version.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/fuse.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/lock.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/interrupt.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/pgmspace.h:
/usr/lib/gcc/avr/4.7.2/include/stddef.h:
src/uart.h:

View File

@ -0,0 +1,45 @@
src/utils.o: src/utils.c \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/sfr_defs.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/inttypes.h \
/usr/lib/gcc/avr/4.7.2/include/stdint.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/stdint.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom8.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/portpins.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/common.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/version.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/fuse.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/lock.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/util/delay.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/util/delay_basic.h \
/usr/lib/gcc/avr/4.7.2/../../../avr/include/math.h src/uart.h
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/sfr_defs.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/inttypes.h:
/usr/lib/gcc/avr/4.7.2/include/stdint.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/stdint.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom8.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/portpins.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/common.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/version.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/fuse.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/lock.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/util/delay.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/util/delay_basic.h:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/math.h:
src/uart.h:

View File

@ -0,0 +1 @@
:00000001FF

Binary file not shown.

View File

@ -0,0 +1,117 @@
:1000000044C053C052C051C050C04FC041C14DC088
:100010004CC04BC04AC03BC266C247C046C045C088
:1000200044C043C042C04261747465727920566F07
:100030006C746167653A202020006D560D0A0047F8
:10004000656E657261746F7220566F6C746167655E
:100050003A202020006D560D0A0047656E657261DA
:10006000746F723A20006D41202000570D0A007312
:100070007769746368657320286C6F61642C2067EE
:10008000656E293A20000D0A000011241FBECFE53D
:10009000D4E0DEBFCDBF10E0A0E6B0E001C01D920D
:1000A000A53BB107E1F79BD246C3AACFCF9364E04B
:1000B00082E044D1CFE09C01C29FC001C39F900D5C
:1000C00011248A5E9C4F90936B0080936A0064E0D9
:1000D00080E034D19C01C29FC001C39F900D1124C8
:1000E000909369008093680064E081E027D18F5F7E
:1000F000914097FD05C090936F0080936E0004C0FF
:1001000010926F0010926E0020916E0030916F007F
:1001100048E4429FC001439F900D112490936700D3
:1001200080936600CF910895CF93DF93EC01CB01CC
:1001300024E630E0B901ECD2FB01CE01B901D4D202
:10014000E69FC001E79F900DF69F900D1124B90125
:10015000CBD2CB01DF91CF91089586E290E032D2ED
:1001600080916A0090916B005DD18AE390E02AD281
:100170008FE390E027D2809168009091690052D17E
:1001800085E590E01FD28AE590E01CD28091660060
:100190009091670047D186E690E014D28091660086
:1001A0009091670024E630E0B901B2D2FB01809162
:1001B0006A0090916B00B90197D2E69FC001E79F5A
:1001C000900DF69F900D1124B9018ED2CB012AD14A
:1001D0008BE690E0F7D18FE690E0F4D186B38170A2
:1001E000805DD4D18CE2D2D186B386958170805D5A
:1001F000CDD186E890E0E6C180916A0090916B00D5
:10020000803C9B4250F410926200809163008530E4
:1002100068F48F5F8093630009C01092630080913F
:100220006200833018F48F5F8093620080916800D1
:1002300090916900893C924350F010926000809147
:100240006100833068F48F5F8093610009C0109271
:10025000610080916000811103C081E080936000A3
:1002600080916300853018F0109262000FC0809179
:100270006200833060F010926300809161008330EF
:1002800010F0C09A0895809160008111C09808957F
:100290001F920F920FB60F9211242F933F934F93FB
:1002A0005F936F937F938F939F9380916C00909156
:1002B0006D00019690936D0080936C0020916C000E
:1002C00030916D0081E090E020364AEE340710F462
:1002D00080E090E060E67AEE869FA001879F500D57
:1002E000969F500D1124C901841B950B90936D00AE
:1002F00080936C009F918F917F916F915F914F914F
:100300003F912F910F900FBE0F901F90189580E492
:1003100087B983E086B9379A369A3699FECF84B189
:1003200095B1089597B18F71907E892B87B9369AD0
:100330003699FECF24B135B1C9010895FF920F93CC
:100340001F93CF93DF93082F862F6CE3C1D1F92E33
:1003500010E0C0E0D0E005C0802FE4DFC80FD91F57
:100360001F5F1F11F9CF612FCE0170E0BDD1CB010E
:10037000DF91CF911F910F91FF900895811101C0DE
:1003800084E690E0EFE1FEE43197F1F700C0000071
:100390009F5F9813F7CF0895EF92FF920F931F93EB
:1003A000CF93DF938C0160E177E29ED17C01862FB1
:1003B000805DECD0C8EED3E0C701BE0195D1862F99
:1003C000805DE4D08EE2E2D0C801BE018DD164E64A
:1003D00070E08AD1862F805DDF91CF911F910F91C0
:1003E000FF90EF90D3C00F931F93CF93DF931F9293
:1003F000CDB7DEB7082F64E66BD1805D9983C6D098
:100400001AE09981892F612F63D1805DBFD0802F41
:10041000612F5ED1892F805D0F90DF91CF911F9169
:100420000F91B4C0EF92FF920F931F93CF93DF937E
:10043000EC0160E177E258D17C01862F805DA6D087
:1004400008EE13E0C701B8014FD1862F805D9ED022
:10045000CE01B80149D104E610E0B80145D1862F9C
:10046000805D94D0CE01B8013FD10AE010E0B80120
:100470003BD1862F805D8AD0CE01B80135D1805D19
:10048000DF91CF911F910F91FF90EF907FC01F924E
:100490000F920FB60F9211242F938F939F93EF9388
:1004A000FF938BB19CB18871E0917200EF5FEF71A7
:1004B00020917100E21739F0E0937200F0E0EB5800
:1004C000FF4F908301C082E090917000982B909331
:1004D0007000FF91EF919F918F912F910F900FBE20
:1004E0000F901F9018951F920F920FB60F92112424
:1004F0008F939F93EF93FF9390917400809173007B
:10050000981761F0E0917300EF5FEF71E093730073
:10051000F0E0EB56FF4F80818CB901C05598FF91F8
:10052000EF919F918F910F900FBE0F901F90189594
:100530001092740010927300109272001092710069
:1005400097FF03C022E02BB99F7790BD89B988E956
:100550008AB986E880BD08959091720080917100FB
:10056000981781F0E0917100EF5FEF71E0937100F7
:10057000F0E0EB58FF4F20818091700010927000E6
:1005800030E002C020E031E0C9010895909174008C
:100590009F5F9F71209173009217E1F3E92FF0E0C4
:1005A000EB56FF4F808390937400559A0895CF9334
:1005B000DF93EC0101C0EADF89918111FCCFDF916B
:1005C000CF910895CF93DF93EC0101C0DFDFFE01EF
:1005D000219684918111FACFDF91CF91089587B34D
:1005E000836087BB88B38C7F88BB91DE8EB58B60C0
:1005F0008EBD82EE94E09BBD8ABD80E189BF789478
:1006000089E190E095DFC098C19AC4E6D0E080917E
:100610006C0090916D008436910530F010926D0061
:1006200010926C0043DDE8DD97DF811521E0920731
:1006300071F399278136910529F08037910539F7B3
:100640008CDDE5CF81E4A2DF80916A0090916B00A0
:10065000E9DE8CE29BDF8091660090916700E2DE2C
:100660008CE294DF80E090E0DDDE8CE28FDF809131
:10067000660090916700BE014BD09B0180916A009B
:1006800090916B00BE0130D0269FC001279F900D36
:10069000369F900D1124BE0127D0CB01C3DE8CE222
:1006A00075DF80E090E0BEDE8CE270DF86B38170A3
:1006B000805D6CDF8CE26ADF80E368DF8CE266DFFE
:1006C00086B386958170805D61DF82E45FDF9FCFB6
:1006D000991B79E004C0991F961708F0961B881F94
:1006E0007A95C9F780950895AA1BBB1B51E107C0F5
:1006F000AA1FBB1FA617B70710F0A61BB70B881FB2
:10070000991F5A95A9F780959095BC01CD01089540
:1007100097FB072E16F4009406D077FD08D0E4DF8F
:1007200007FC05D03EF4909581959F4F08957095F4
:0A07300061957F4F0895F894FFCF04
:00000001FF

View File

@ -0,0 +1,913 @@
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000073c 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .bss 00000055 00800060 00800060 000007b0 2**0
ALLOC
2 .stab 000006cc 00000000 00000000 000007b0 2**2
CONTENTS, READONLY, DEBUGGING
3 .stabstr 00000054 00000000 00000000 00000e7c 2**0
CONTENTS, READONLY, DEBUGGING
4 .comment 00000011 00000000 00000000 00000ed0 2**0
CONTENTS, READONLY
Disassembly of section .text:
00000000 <__vectors>:
0: 44 c0 rjmp .+136 ; 0x8a <__ctors_end>
2: 53 c0 rjmp .+166 ; 0xaa <__bad_interrupt>
4: 52 c0 rjmp .+164 ; 0xaa <__bad_interrupt>
6: 51 c0 rjmp .+162 ; 0xaa <__bad_interrupt>
8: 50 c0 rjmp .+160 ; 0xaa <__bad_interrupt>
a: 4f c0 rjmp .+158 ; 0xaa <__bad_interrupt>
c: 42 c1 rjmp .+644 ; 0x292 <__vector_6>
e: 4d c0 rjmp .+154 ; 0xaa <__bad_interrupt>
10: 4c c0 rjmp .+152 ; 0xaa <__bad_interrupt>
12: 4b c0 rjmp .+150 ; 0xaa <__bad_interrupt>
14: 4a c0 rjmp .+148 ; 0xaa <__bad_interrupt>
16: 3c c2 rjmp .+1144 ; 0x490 <__vector_11>
18: 67 c2 rjmp .+1230 ; 0x4e8 <__vector_12>
1a: 47 c0 rjmp .+142 ; 0xaa <__bad_interrupt>
1c: 46 c0 rjmp .+140 ; 0xaa <__bad_interrupt>
1e: 45 c0 rjmp .+138 ; 0xaa <__bad_interrupt>
20: 44 c0 rjmp .+136 ; 0xaa <__bad_interrupt>
22: 43 c0 rjmp .+134 ; 0xaa <__bad_interrupt>
24: 42 c0 rjmp .+132 ; 0xaa <__bad_interrupt>
00000026 <__c.1594>:
26: 42 61 74 74 65 72 79 20 56 6f 6c 74 61 67 65 3a Battery Voltage:
36: 20 20 20 00 .
0000003a <__c.1596>:
3a: 6d 56 0d 0a 00 mV...
0000003f <__c.1598>:
3f: 47 65 6e 65 72 61 74 6f 72 20 56 6f 6c 74 61 67 Generator Voltag
4f: 65 3a 20 20 20 00 e: .
00000055 <__c.1600>:
55: 6d 56 0d 0a 00 mV...
0000005a <__c.1602>:
5a: 47 65 6e 65 72 61 74 6f 72 3a 20 00 Generator: .
00000066 <__c.1604>:
66: 6d 41 20 20 00 mA .
0000006b <__c.1606>:
6b: 57 0d 0a 00 W...
0000006f <__c.1608>:
6f: 73 77 69 74 63 68 65 73 20 28 6c 6f 61 64 2c 20 switches (load,
7f: 67 65 6e 29 3a 20 00 gen): .
00000086 <__c.1610>:
86: 0d 0a 00 00 ....
0000008a <__ctors_end>:
8a: 11 24 eor r1, r1
8c: 1f be out 0x3f, r1 ; 63
8e: cf e5 ldi r28, 0x5F ; 95
90: d4 e0 ldi r29, 0x04 ; 4
92: de bf out 0x3e, r29 ; 62
94: cd bf out 0x3d, r28 ; 61
00000096 <__do_clear_bss>:
96: 10 e0 ldi r17, 0x00 ; 0
98: a0 e6 ldi r26, 0x60 ; 96
9a: b0 e0 ldi r27, 0x00 ; 0
9c: 01 c0 rjmp .+2 ; 0xa0 <.do_clear_bss_start>
0000009e <.do_clear_bss_loop>:
9e: 1d 92 st X+, r1
000000a0 <.do_clear_bss_start>:
a0: a5 3b cpi r26, 0xB5 ; 181
a2: b1 07 cpc r27, r17
a4: e1 f7 brne .-8 ; 0x9e <.do_clear_bss_loop>
a6: 9c d2 rcall .+1336 ; 0x5e0 <main>
a8: 47 c3 rjmp .+1678 ; 0x738 <_exit>
000000aa <__bad_interrupt>:
aa: aa cf rjmp .-172 ; 0x0 <__vectors>
000000ac <measure>:
ac: cf 93 push r28
ae: 64 e0 ldi r22, 0x04 ; 4
b0: 82 e0 ldi r24, 0x02 ; 2
b2: 45 d1 rcall .+650 ; 0x33e <adc_read_avg>
b4: cf e0 ldi r28, 0x0F ; 15
b6: 9c 01 movw r18, r24
b8: c2 9f mul r28, r18
ba: c0 01 movw r24, r0
bc: c3 9f mul r28, r19
be: 90 0d add r25, r0
c0: 11 24 eor r1, r1
c2: 8a 5e subi r24, 0xEA ; 234
c4: 9c 4f sbci r25, 0xFC ; 252
c6: 90 93 6b 00 sts 0x006B, r25
ca: 80 93 6a 00 sts 0x006A, r24
ce: 64 e0 ldi r22, 0x04 ; 4
d0: 80 e0 ldi r24, 0x00 ; 0
d2: 35 d1 rcall .+618 ; 0x33e <adc_read_avg>
d4: 9c 01 movw r18, r24
d6: c2 9f mul r28, r18
d8: c0 01 movw r24, r0
da: c3 9f mul r28, r19
dc: 90 0d add r25, r0
de: 11 24 eor r1, r1
e0: 90 93 69 00 sts 0x0069, r25
e4: 80 93 68 00 sts 0x0068, r24
e8: 64 e0 ldi r22, 0x04 ; 4
ea: 81 e0 ldi r24, 0x01 ; 1
ec: 28 d1 rcall .+592 ; 0x33e <adc_read_avg>
ee: 8f 5f subi r24, 0xFF ; 255
f0: 91 40 sbci r25, 0x01 ; 1
f2: 97 fd sbrc r25, 7
f4: 05 c0 rjmp .+10 ; 0x100 <measure+0x54>
f6: 90 93 6f 00 sts 0x006F, r25
fa: 80 93 6e 00 sts 0x006E, r24
fe: 04 c0 rjmp .+8 ; 0x108 <measure+0x5c>
100: 10 92 6f 00 sts 0x006F, r1
104: 10 92 6e 00 sts 0x006E, r1
108: 20 91 6e 00 lds r18, 0x006E
10c: 30 91 6f 00 lds r19, 0x006F
110: 48 e4 ldi r20, 0x48 ; 72
112: 42 9f mul r20, r18
114: c0 01 movw r24, r0
116: 43 9f mul r20, r19
118: 90 0d add r25, r0
11a: 11 24 eor r1, r1
11c: 90 93 67 00 sts 0x0067, r25
120: 80 93 66 00 sts 0x0066, r24
124: cf 91 pop r28
126: 08 95 ret
00000128 <get_power>:
128: cf 93 push r28
12a: df 93 push r29
12c: ec 01 movw r28, r24
12e: cb 01 movw r24, r22
130: 24 e6 ldi r18, 0x64 ; 100
132: 30 e0 ldi r19, 0x00 ; 0
134: b9 01 movw r22, r18
136: ed d2 rcall .+1498 ; 0x712 <__divmodhi4>
138: fb 01 movw r30, r22
13a: ce 01 movw r24, r28
13c: b9 01 movw r22, r18
13e: d5 d2 rcall .+1450 ; 0x6ea <__udivmodhi4>
140: e6 9f mul r30, r22
142: c0 01 movw r24, r0
144: e7 9f mul r30, r23
146: 90 0d add r25, r0
148: f6 9f mul r31, r22
14a: 90 0d add r25, r0
14c: 11 24 eor r1, r1
14e: b9 01 movw r22, r18
150: cc d2 rcall .+1432 ; 0x6ea <__udivmodhi4>
152: cb 01 movw r24, r22
154: df 91 pop r29
156: cf 91 pop r28
158: 08 95 ret
0000015a <pretty_print_all_values>:
15a: 86 e2 ldi r24, 0x26 ; 38
15c: 90 e0 ldi r25, 0x00 ; 0
15e: 33 d2 rcall .+1126 ; 0x5c6 <uart_puts_p>
160: 80 91 6a 00 lds r24, 0x006A
164: 90 91 6b 00 lds r25, 0x006B
168: 5e d1 rcall .+700 ; 0x426 <uart_print_uint16>
16a: 8a e3 ldi r24, 0x3A ; 58
16c: 90 e0 ldi r25, 0x00 ; 0
16e: 2b d2 rcall .+1110 ; 0x5c6 <uart_puts_p>
170: 8f e3 ldi r24, 0x3F ; 63
172: 90 e0 ldi r25, 0x00 ; 0
174: 28 d2 rcall .+1104 ; 0x5c6 <uart_puts_p>
176: 80 91 68 00 lds r24, 0x0068
17a: 90 91 69 00 lds r25, 0x0069
17e: 53 d1 rcall .+678 ; 0x426 <uart_print_uint16>
180: 85 e5 ldi r24, 0x55 ; 85
182: 90 e0 ldi r25, 0x00 ; 0
184: 20 d2 rcall .+1088 ; 0x5c6 <uart_puts_p>
186: 8a e5 ldi r24, 0x5A ; 90
188: 90 e0 ldi r25, 0x00 ; 0
18a: 1d d2 rcall .+1082 ; 0x5c6 <uart_puts_p>
18c: 80 91 66 00 lds r24, 0x0066
190: 90 91 67 00 lds r25, 0x0067
194: 48 d1 rcall .+656 ; 0x426 <uart_print_uint16>
196: 86 e6 ldi r24, 0x66 ; 102
198: 90 e0 ldi r25, 0x00 ; 0
19a: 15 d2 rcall .+1066 ; 0x5c6 <uart_puts_p>
19c: 80 91 66 00 lds r24, 0x0066
1a0: 90 91 67 00 lds r25, 0x0067
1a4: 24 e6 ldi r18, 0x64 ; 100
1a6: 30 e0 ldi r19, 0x00 ; 0
1a8: b9 01 movw r22, r18
1aa: b3 d2 rcall .+1382 ; 0x712 <__divmodhi4>
1ac: fb 01 movw r30, r22
1ae: 80 91 6a 00 lds r24, 0x006A
1b2: 90 91 6b 00 lds r25, 0x006B
1b6: b9 01 movw r22, r18
1b8: 98 d2 rcall .+1328 ; 0x6ea <__udivmodhi4>
1ba: e6 9f mul r30, r22
1bc: c0 01 movw r24, r0
1be: e7 9f mul r30, r23
1c0: 90 0d add r25, r0
1c2: f6 9f mul r31, r22
1c4: 90 0d add r25, r0
1c6: 11 24 eor r1, r1
1c8: b9 01 movw r22, r18
1ca: 8f d2 rcall .+1310 ; 0x6ea <__udivmodhi4>
1cc: cb 01 movw r24, r22
1ce: 2b d1 rcall .+598 ; 0x426 <uart_print_uint16>
1d0: 8b e6 ldi r24, 0x6B ; 107
1d2: 90 e0 ldi r25, 0x00 ; 0
1d4: f8 d1 rcall .+1008 ; 0x5c6 <uart_puts_p>
1d6: 8f e6 ldi r24, 0x6F ; 111
1d8: 90 e0 ldi r25, 0x00 ; 0
1da: f5 d1 rcall .+1002 ; 0x5c6 <uart_puts_p>
1dc: 86 b3 in r24, 0x16 ; 22
1de: 81 70 andi r24, 0x01 ; 1
1e0: 80 5d subi r24, 0xD0 ; 208
1e2: d5 d1 rcall .+938 ; 0x58e <uart_putc>
1e4: 8c e2 ldi r24, 0x2C ; 44
1e6: d3 d1 rcall .+934 ; 0x58e <uart_putc>
1e8: 86 b3 in r24, 0x16 ; 22
1ea: 86 95 lsr r24
1ec: 81 70 andi r24, 0x01 ; 1
1ee: 80 5d subi r24, 0xD0 ; 208
1f0: ce d1 rcall .+924 ; 0x58e <uart_putc>
1f2: 86 e8 ldi r24, 0x86 ; 134
1f4: 90 e0 ldi r25, 0x00 ; 0
1f6: e7 c1 rjmp .+974 ; 0x5c6 <uart_puts_p>
000001f8 <handle_over_and_undervoltage>:
1f8: 80 91 6a 00 lds r24, 0x006A
1fc: 90 91 6b 00 lds r25, 0x006B
200: 80 3c cpi r24, 0xC0 ; 192
202: 9b 42 sbci r25, 0x2B ; 43
204: 50 f4 brcc .+20 ; 0x21a <handle_over_and_undervoltage+0x22>
206: 10 92 62 00 sts 0x0062, r1
20a: 80 91 63 00 lds r24, 0x0063
20e: 85 30 cpi r24, 0x05 ; 5
210: 68 f4 brcc .+26 ; 0x22c <handle_over_and_undervoltage+0x34>
212: 8f 5f subi r24, 0xFF ; 255
214: 80 93 63 00 sts 0x0063, r24
218: 09 c0 rjmp .+18 ; 0x22c <handle_over_and_undervoltage+0x34>
21a: 10 92 63 00 sts 0x0063, r1
21e: 80 91 62 00 lds r24, 0x0062
222: 83 30 cpi r24, 0x03 ; 3
224: 18 f4 brcc .+6 ; 0x22c <handle_over_and_undervoltage+0x34>
226: 8f 5f subi r24, 0xFF ; 255
228: 80 93 62 00 sts 0x0062, r24
22c: 80 91 68 00 lds r24, 0x0068
230: 90 91 69 00 lds r25, 0x0069
234: 89 3c cpi r24, 0xC9 ; 201
236: 92 43 sbci r25, 0x32 ; 50
238: 50 f0 brcs .+20 ; 0x24e <handle_over_and_undervoltage+0x56>
23a: 10 92 60 00 sts 0x0060, r1
23e: 80 91 61 00 lds r24, 0x0061
242: 82 30 cpi r24, 0x02 ; 2
244: 68 f4 brcc .+26 ; 0x260 <handle_over_and_undervoltage+0x68>
246: 8f 5f subi r24, 0xFF ; 255
248: 80 93 61 00 sts 0x0061, r24
24c: 09 c0 rjmp .+18 ; 0x260 <handle_over_and_undervoltage+0x68>
24e: 10 92 61 00 sts 0x0061, r1
252: 80 91 60 00 lds r24, 0x0060
256: 82 30 cpi r24, 0x02 ; 2
258: 18 f4 brcc .+6 ; 0x260 <handle_over_and_undervoltage+0x68>
25a: 8f 5f subi r24, 0xFF ; 255
25c: 80 93 60 00 sts 0x0060, r24
260: 80 91 63 00 lds r24, 0x0063
264: 85 30 cpi r24, 0x05 ; 5
266: 18 f0 brcs .+6 ; 0x26e <handle_over_and_undervoltage+0x76>
268: 10 92 62 00 sts 0x0062, r1
26c: 10 c0 rjmp .+32 ; 0x28e <handle_over_and_undervoltage+0x96>
26e: 80 91 62 00 lds r24, 0x0062
272: 83 30 cpi r24, 0x03 ; 3
274: 68 f0 brcs .+26 ; 0x290 <handle_over_and_undervoltage+0x98>
276: 10 92 63 00 sts 0x0063, r1
27a: 80 91 61 00 lds r24, 0x0061
27e: 82 30 cpi r24, 0x02 ; 2
280: 10 f0 brcs .+4 ; 0x286 <handle_over_and_undervoltage+0x8e>
282: c0 9a sbi 0x18, 0 ; 24
284: 08 95 ret
286: 80 91 60 00 lds r24, 0x0060
28a: 82 30 cpi r24, 0x02 ; 2
28c: 08 f0 brcs .+2 ; 0x290 <handle_over_and_undervoltage+0x98>
28e: c0 98 cbi 0x18, 0 ; 24
290: 08 95 ret
00000292 <__vector_6>:
292: 1f 92 push r1
294: 0f 92 push r0
296: 0f b6 in r0, 0x3f ; 63
298: 0f 92 push r0
29a: 11 24 eor r1, r1
29c: 2f 93 push r18
29e: 3f 93 push r19
2a0: 4f 93 push r20
2a2: 5f 93 push r21
2a4: 6f 93 push r22
2a6: 7f 93 push r23
2a8: 8f 93 push r24
2aa: 9f 93 push r25
2ac: 80 91 6c 00 lds r24, 0x006C
2b0: 90 91 6d 00 lds r25, 0x006D
2b4: 01 96 adiw r24, 0x01 ; 1
2b6: 90 93 6d 00 sts 0x006D, r25
2ba: 80 93 6c 00 sts 0x006C, r24
2be: 20 91 6c 00 lds r18, 0x006C
2c2: 30 91 6d 00 lds r19, 0x006D
2c6: 81 e0 ldi r24, 0x01 ; 1
2c8: 90 e0 ldi r25, 0x00 ; 0
2ca: 20 36 cpi r18, 0x60 ; 96
2cc: 4a ee ldi r20, 0xEA ; 234
2ce: 34 07 cpc r19, r20
2d0: 10 f4 brcc .+4 ; 0x2d6 <__vector_6+0x44>
2d2: 80 e0 ldi r24, 0x00 ; 0
2d4: 90 e0 ldi r25, 0x00 ; 0
2d6: 60 e6 ldi r22, 0x60 ; 96
2d8: 7a ee ldi r23, 0xEA ; 234
2da: 86 9f mul r24, r22
2dc: a0 01 movw r20, r0
2de: 87 9f mul r24, r23
2e0: 50 0d add r21, r0
2e2: 96 9f mul r25, r22
2e4: 50 0d add r21, r0
2e6: 11 24 eor r1, r1
2e8: c9 01 movw r24, r18
2ea: 84 1b sub r24, r20
2ec: 95 0b sbc r25, r21
2ee: 90 93 6d 00 sts 0x006D, r25
2f2: 80 93 6c 00 sts 0x006C, r24
2f6: 9f 91 pop r25
2f8: 8f 91 pop r24
2fa: 7f 91 pop r23
2fc: 6f 91 pop r22
2fe: 5f 91 pop r21
300: 4f 91 pop r20
302: 3f 91 pop r19
304: 2f 91 pop r18
306: 0f 90 pop r0
308: 0f be out 0x3f, r0 ; 63
30a: 0f 90 pop r0
30c: 1f 90 pop r1
30e: 18 95 reti
00000310 <adc_init>:
310: 80 e4 ldi r24, 0x40 ; 64
312: 87 b9 out 0x07, r24 ; 7
314: 83 e0 ldi r24, 0x03 ; 3
316: 86 b9 out 0x06, r24 ; 6
318: 37 9a sbi 0x06, 7 ; 6
31a: 36 9a sbi 0x06, 6 ; 6
31c: 36 99 sbic 0x06, 6 ; 6
31e: fe cf rjmp .-4 ; 0x31c <adc_init+0xc>
320: 84 b1 in r24, 0x04 ; 4
322: 95 b1 in r25, 0x05 ; 5
324: 08 95 ret
00000326 <adc_read_single>:
326: 97 b1 in r25, 0x07 ; 7
328: 8f 71 andi r24, 0x1F ; 31
32a: 90 7e andi r25, 0xE0 ; 224
32c: 89 2b or r24, r25
32e: 87 b9 out 0x07, r24 ; 7
330: 36 9a sbi 0x06, 6 ; 6
332: 36 99 sbic 0x06, 6 ; 6
334: fe cf rjmp .-4 ; 0x332 <adc_read_single+0xc>
336: 24 b1 in r18, 0x04 ; 4
338: 35 b1 in r19, 0x05 ; 5
33a: c9 01 movw r24, r18
33c: 08 95 ret
0000033e <adc_read_avg>:
33e: ff 92 push r15
340: 0f 93 push r16
342: 1f 93 push r17
344: cf 93 push r28
346: df 93 push r29
348: 08 2f mov r16, r24
34a: 86 2f mov r24, r22
34c: 6c e3 ldi r22, 0x3C ; 60
34e: c1 d1 rcall .+898 ; 0x6d2 <__udivmodqi4>
350: f9 2e mov r15, r25
352: 10 e0 ldi r17, 0x00 ; 0
354: c0 e0 ldi r28, 0x00 ; 0
356: d0 e0 ldi r29, 0x00 ; 0
358: 05 c0 rjmp .+10 ; 0x364 <adc_read_avg+0x26>
35a: 80 2f mov r24, r16
35c: e4 df rcall .-56 ; 0x326 <adc_read_single>
35e: c8 0f add r28, r24
360: d9 1f adc r29, r25
362: 1f 5f subi r17, 0xFF ; 255
364: 1f 11 cpse r17, r15
366: f9 cf rjmp .-14 ; 0x35a <adc_read_avg+0x1c>
368: 61 2f mov r22, r17
36a: ce 01 movw r24, r28
36c: 70 e0 ldi r23, 0x00 ; 0
36e: bd d1 rcall .+890 ; 0x6ea <__udivmodhi4>
370: cb 01 movw r24, r22
372: df 91 pop r29
374: cf 91 pop r28
376: 1f 91 pop r17
378: 0f 91 pop r16
37a: ff 90 pop r15
37c: 08 95 ret
0000037e <wait>:
37e: 81 11 cpse r24, r1
380: 01 c0 rjmp .+2 ; 0x384 <wait+0x6>
382: 84 e6 ldi r24, 0x64 ; 100
384: 90 e0 ldi r25, 0x00 ; 0
386: ef e1 ldi r30, 0x1F ; 31
388: fe e4 ldi r31, 0x4E ; 78
38a: 31 97 sbiw r30, 0x01 ; 1
38c: f1 f7 brne .-4 ; 0x38a <wait+0xc>
38e: 00 c0 rjmp .+0 ; 0x390 <wait+0x12>
390: 00 00 nop
392: 9f 5f subi r25, 0xFF ; 255
394: 98 13 cpse r25, r24
396: f7 cf rjmp .-18 ; 0x386 <wait+0x8>
398: 08 95 ret
0000039a <uart_print_voltage>:
39a: ef 92 push r14
39c: ff 92 push r15
39e: 0f 93 push r16
3a0: 1f 93 push r17
3a2: cf 93 push r28
3a4: df 93 push r29
3a6: 8c 01 movw r16, r24
3a8: 60 e1 ldi r22, 0x10 ; 16
3aa: 77 e2 ldi r23, 0x27 ; 39
3ac: 9e d1 rcall .+828 ; 0x6ea <__udivmodhi4>
3ae: 7c 01 movw r14, r24
3b0: 86 2f mov r24, r22
3b2: 80 5d subi r24, 0xD0 ; 208
3b4: ec d0 rcall .+472 ; 0x58e <uart_putc>
3b6: c8 ee ldi r28, 0xE8 ; 232
3b8: d3 e0 ldi r29, 0x03 ; 3
3ba: c7 01 movw r24, r14
3bc: be 01 movw r22, r28
3be: 95 d1 rcall .+810 ; 0x6ea <__udivmodhi4>
3c0: 86 2f mov r24, r22
3c2: 80 5d subi r24, 0xD0 ; 208
3c4: e4 d0 rcall .+456 ; 0x58e <uart_putc>
3c6: 8e e2 ldi r24, 0x2E ; 46
3c8: e2 d0 rcall .+452 ; 0x58e <uart_putc>
3ca: c8 01 movw r24, r16
3cc: be 01 movw r22, r28
3ce: 8d d1 rcall .+794 ; 0x6ea <__udivmodhi4>
3d0: 64 e6 ldi r22, 0x64 ; 100
3d2: 70 e0 ldi r23, 0x00 ; 0
3d4: 8a d1 rcall .+788 ; 0x6ea <__udivmodhi4>
3d6: 86 2f mov r24, r22
3d8: 80 5d subi r24, 0xD0 ; 208
3da: df 91 pop r29
3dc: cf 91 pop r28
3de: 1f 91 pop r17
3e0: 0f 91 pop r16
3e2: ff 90 pop r15
3e4: ef 90 pop r14
3e6: d3 c0 rjmp .+422 ; 0x58e <uart_putc>
000003e8 <uart_print_uint8>:
3e8: 0f 93 push r16
3ea: 1f 93 push r17
3ec: cf 93 push r28
3ee: df 93 push r29
3f0: 1f 92 push r1
3f2: cd b7 in r28, 0x3d ; 61
3f4: de b7 in r29, 0x3e ; 62
3f6: 08 2f mov r16, r24
3f8: 64 e6 ldi r22, 0x64 ; 100
3fa: 6b d1 rcall .+726 ; 0x6d2 <__udivmodqi4>
3fc: 80 5d subi r24, 0xD0 ; 208
3fe: 99 83 std Y+1, r25 ; 0x01
400: c6 d0 rcall .+396 ; 0x58e <uart_putc>
402: 1a e0 ldi r17, 0x0A ; 10
404: 99 81 ldd r25, Y+1 ; 0x01
406: 89 2f mov r24, r25
408: 61 2f mov r22, r17
40a: 63 d1 rcall .+710 ; 0x6d2 <__udivmodqi4>
40c: 80 5d subi r24, 0xD0 ; 208
40e: bf d0 rcall .+382 ; 0x58e <uart_putc>
410: 80 2f mov r24, r16
412: 61 2f mov r22, r17
414: 5e d1 rcall .+700 ; 0x6d2 <__udivmodqi4>
416: 89 2f mov r24, r25
418: 80 5d subi r24, 0xD0 ; 208
41a: 0f 90 pop r0
41c: df 91 pop r29
41e: cf 91 pop r28
420: 1f 91 pop r17
422: 0f 91 pop r16
424: b4 c0 rjmp .+360 ; 0x58e <uart_putc>
00000426 <uart_print_uint16>:
426: ef 92 push r14
428: ff 92 push r15
42a: 0f 93 push r16
42c: 1f 93 push r17
42e: cf 93 push r28
430: df 93 push r29
432: ec 01 movw r28, r24
434: 60 e1 ldi r22, 0x10 ; 16
436: 77 e2 ldi r23, 0x27 ; 39
438: 58 d1 rcall .+688 ; 0x6ea <__udivmodhi4>
43a: 7c 01 movw r14, r24
43c: 86 2f mov r24, r22
43e: 80 5d subi r24, 0xD0 ; 208
440: a6 d0 rcall .+332 ; 0x58e <uart_putc>
442: 08 ee ldi r16, 0xE8 ; 232
444: 13 e0 ldi r17, 0x03 ; 3
446: c7 01 movw r24, r14
448: b8 01 movw r22, r16
44a: 4f d1 rcall .+670 ; 0x6ea <__udivmodhi4>
44c: 86 2f mov r24, r22
44e: 80 5d subi r24, 0xD0 ; 208
450: 9e d0 rcall .+316 ; 0x58e <uart_putc>
452: ce 01 movw r24, r28
454: b8 01 movw r22, r16
456: 49 d1 rcall .+658 ; 0x6ea <__udivmodhi4>
458: 04 e6 ldi r16, 0x64 ; 100
45a: 10 e0 ldi r17, 0x00 ; 0
45c: b8 01 movw r22, r16
45e: 45 d1 rcall .+650 ; 0x6ea <__udivmodhi4>
460: 86 2f mov r24, r22
462: 80 5d subi r24, 0xD0 ; 208
464: 94 d0 rcall .+296 ; 0x58e <uart_putc>
466: ce 01 movw r24, r28
468: b8 01 movw r22, r16
46a: 3f d1 rcall .+638 ; 0x6ea <__udivmodhi4>
46c: 0a e0 ldi r16, 0x0A ; 10
46e: 10 e0 ldi r17, 0x00 ; 0
470: b8 01 movw r22, r16
472: 3b d1 rcall .+630 ; 0x6ea <__udivmodhi4>
474: 86 2f mov r24, r22
476: 80 5d subi r24, 0xD0 ; 208
478: 8a d0 rcall .+276 ; 0x58e <uart_putc>
47a: ce 01 movw r24, r28
47c: b8 01 movw r22, r16
47e: 35 d1 rcall .+618 ; 0x6ea <__udivmodhi4>
480: 80 5d subi r24, 0xD0 ; 208
482: df 91 pop r29
484: cf 91 pop r28
486: 1f 91 pop r17
488: 0f 91 pop r16
48a: ff 90 pop r15
48c: ef 90 pop r14
48e: 7f c0 rjmp .+254 ; 0x58e <uart_putc>
00000490 <__vector_11>:
490: 1f 92 push r1
492: 0f 92 push r0
494: 0f b6 in r0, 0x3f ; 63
496: 0f 92 push r0
498: 11 24 eor r1, r1
49a: 2f 93 push r18
49c: 8f 93 push r24
49e: 9f 93 push r25
4a0: ef 93 push r30
4a2: ff 93 push r31
4a4: 8b b1 in r24, 0x0b ; 11
4a6: 9c b1 in r25, 0x0c ; 12
4a8: 88 71 andi r24, 0x18 ; 24
4aa: e0 91 72 00 lds r30, 0x0072
4ae: ef 5f subi r30, 0xFF ; 255
4b0: ef 71 andi r30, 0x1F ; 31
4b2: 20 91 71 00 lds r18, 0x0071
4b6: e2 17 cp r30, r18
4b8: 39 f0 breq .+14 ; 0x4c8 <__vector_11+0x38>
4ba: e0 93 72 00 sts 0x0072, r30
4be: f0 e0 ldi r31, 0x00 ; 0
4c0: eb 58 subi r30, 0x8B ; 139
4c2: ff 4f sbci r31, 0xFF ; 255
4c4: 90 83 st Z, r25
4c6: 01 c0 rjmp .+2 ; 0x4ca <__vector_11+0x3a>
4c8: 82 e0 ldi r24, 0x02 ; 2
4ca: 90 91 70 00 lds r25, 0x0070
4ce: 98 2b or r25, r24
4d0: 90 93 70 00 sts 0x0070, r25
4d4: ff 91 pop r31
4d6: ef 91 pop r30
4d8: 9f 91 pop r25
4da: 8f 91 pop r24
4dc: 2f 91 pop r18
4de: 0f 90 pop r0
4e0: 0f be out 0x3f, r0 ; 63
4e2: 0f 90 pop r0
4e4: 1f 90 pop r1
4e6: 18 95 reti
000004e8 <__vector_12>:
4e8: 1f 92 push r1
4ea: 0f 92 push r0
4ec: 0f b6 in r0, 0x3f ; 63
4ee: 0f 92 push r0
4f0: 11 24 eor r1, r1
4f2: 8f 93 push r24
4f4: 9f 93 push r25
4f6: ef 93 push r30
4f8: ff 93 push r31
4fa: 90 91 74 00 lds r25, 0x0074
4fe: 80 91 73 00 lds r24, 0x0073
502: 98 17 cp r25, r24
504: 61 f0 breq .+24 ; 0x51e <__vector_12+0x36>
506: e0 91 73 00 lds r30, 0x0073
50a: ef 5f subi r30, 0xFF ; 255
50c: ef 71 andi r30, 0x1F ; 31
50e: e0 93 73 00 sts 0x0073, r30
512: f0 e0 ldi r31, 0x00 ; 0
514: eb 56 subi r30, 0x6B ; 107
516: ff 4f sbci r31, 0xFF ; 255
518: 80 81 ld r24, Z
51a: 8c b9 out 0x0c, r24 ; 12
51c: 01 c0 rjmp .+2 ; 0x520 <__vector_12+0x38>
51e: 55 98 cbi 0x0a, 5 ; 10
520: ff 91 pop r31
522: ef 91 pop r30
524: 9f 91 pop r25
526: 8f 91 pop r24
528: 0f 90 pop r0
52a: 0f be out 0x3f, r0 ; 63
52c: 0f 90 pop r0
52e: 1f 90 pop r1
530: 18 95 reti
00000532 <uart_init>:
532: 10 92 74 00 sts 0x0074, r1
536: 10 92 73 00 sts 0x0073, r1
53a: 10 92 72 00 sts 0x0072, r1
53e: 10 92 71 00 sts 0x0071, r1
542: 97 ff sbrs r25, 7
544: 03 c0 rjmp .+6 ; 0x54c <uart_init+0x1a>
546: 22 e0 ldi r18, 0x02 ; 2
548: 2b b9 out 0x0b, r18 ; 11
54a: 9f 77 andi r25, 0x7F ; 127
54c: 90 bd out 0x20, r25 ; 32
54e: 89 b9 out 0x09, r24 ; 9
550: 88 e9 ldi r24, 0x98 ; 152
552: 8a b9 out 0x0a, r24 ; 10
554: 86 e8 ldi r24, 0x86 ; 134
556: 80 bd out 0x20, r24 ; 32
558: 08 95 ret
0000055a <uart_getc>:
55a: 90 91 72 00 lds r25, 0x0072
55e: 80 91 71 00 lds r24, 0x0071
562: 98 17 cp r25, r24
564: 81 f0 breq .+32 ; 0x586 <uart_getc+0x2c>
566: e0 91 71 00 lds r30, 0x0071
56a: ef 5f subi r30, 0xFF ; 255
56c: ef 71 andi r30, 0x1F ; 31
56e: e0 93 71 00 sts 0x0071, r30
572: f0 e0 ldi r31, 0x00 ; 0
574: eb 58 subi r30, 0x8B ; 139
576: ff 4f sbci r31, 0xFF ; 255
578: 20 81 ld r18, Z
57a: 80 91 70 00 lds r24, 0x0070
57e: 10 92 70 00 sts 0x0070, r1
582: 30 e0 ldi r19, 0x00 ; 0
584: 02 c0 rjmp .+4 ; 0x58a <uart_getc+0x30>
586: 20 e0 ldi r18, 0x00 ; 0
588: 31 e0 ldi r19, 0x01 ; 1
58a: c9 01 movw r24, r18
58c: 08 95 ret
0000058e <uart_putc>:
58e: 90 91 74 00 lds r25, 0x0074
592: 9f 5f subi r25, 0xFF ; 255
594: 9f 71 andi r25, 0x1F ; 31
596: 20 91 73 00 lds r18, 0x0073
59a: 92 17 cp r25, r18
59c: e1 f3 breq .-8 ; 0x596 <uart_putc+0x8>
59e: e9 2f mov r30, r25
5a0: f0 e0 ldi r31, 0x00 ; 0
5a2: eb 56 subi r30, 0x6B ; 107
5a4: ff 4f sbci r31, 0xFF ; 255
5a6: 80 83 st Z, r24
5a8: 90 93 74 00 sts 0x0074, r25
5ac: 55 9a sbi 0x0a, 5 ; 10
5ae: 08 95 ret
000005b0 <uart_puts>:
5b0: cf 93 push r28
5b2: df 93 push r29
5b4: ec 01 movw r28, r24
5b6: 01 c0 rjmp .+2 ; 0x5ba <uart_puts+0xa>
5b8: ea df rcall .-44 ; 0x58e <uart_putc>
5ba: 89 91 ld r24, Y+
5bc: 81 11 cpse r24, r1
5be: fc cf rjmp .-8 ; 0x5b8 <uart_puts+0x8>
5c0: df 91 pop r29
5c2: cf 91 pop r28
5c4: 08 95 ret
000005c6 <uart_puts_p>:
5c6: cf 93 push r28
5c8: df 93 push r29
5ca: ec 01 movw r28, r24
5cc: 01 c0 rjmp .+2 ; 0x5d0 <uart_puts_p+0xa>
5ce: df df rcall .-66 ; 0x58e <uart_putc>
5d0: fe 01 movw r30, r28
5d2: 21 96 adiw r28, 0x01 ; 1
5d4: 84 91 lpm r24, Z+
5d6: 81 11 cpse r24, r1
5d8: fa cf rjmp .-12 ; 0x5ce <uart_puts_p+0x8>
5da: df 91 pop r29
5dc: cf 91 pop r28
5de: 08 95 ret
000005e0 <main>:
5e0: 87 b3 in r24, 0x17 ; 23
5e2: 83 60 ori r24, 0x03 ; 3
5e4: 87 bb out 0x17, r24 ; 23
5e6: 88 b3 in r24, 0x18 ; 24
5e8: 8c 7f andi r24, 0xFC ; 252
5ea: 88 bb out 0x18, r24 ; 24
5ec: 91 de rcall .-734 ; 0x310 <adc_init>
5ee: 8e b5 in r24, 0x2e ; 46
5f0: 8b 60 ori r24, 0x0B ; 11
5f2: 8e bd out 0x2e, r24 ; 46
5f4: 82 ee ldi r24, 0xE2 ; 226
5f6: 94 e0 ldi r25, 0x04 ; 4
5f8: 9b bd out 0x2b, r25 ; 43
5fa: 8a bd out 0x2a, r24 ; 42
5fc: 80 e1 ldi r24, 0x10 ; 16
5fe: 89 bf out 0x39, r24 ; 57
600: 78 94 sei
602: 89 e1 ldi r24, 0x19 ; 25
604: 90 e0 ldi r25, 0x00 ; 0
606: 95 df rcall .-214 ; 0x532 <uart_init>
608: c0 98 cbi 0x18, 0 ; 24
60a: c1 9a sbi 0x18, 1 ; 24
60c: c4 e6 ldi r28, 0x64 ; 100
60e: d0 e0 ldi r29, 0x00 ; 0
610: 80 91 6c 00 lds r24, 0x006C
614: 90 91 6d 00 lds r25, 0x006D
618: 84 36 cpi r24, 0x64 ; 100
61a: 91 05 cpc r25, r1
61c: 30 f0 brcs .+12 ; 0x62a <main+0x4a>
61e: 10 92 6d 00 sts 0x006D, r1
622: 10 92 6c 00 sts 0x006C, r1
626: 42 dd rcall .-1404 ; 0xac <measure>
628: e7 dd rcall .-1074 ; 0x1f8 <handle_over_and_undervoltage>
62a: 97 df rcall .-210 ; 0x55a <uart_getc>
62c: 81 15 cp r24, r1
62e: 21 e0 ldi r18, 0x01 ; 1
630: 92 07 cpc r25, r18
632: 71 f3 breq .-36 ; 0x610 <main+0x30>
634: 99 27 eor r25, r25
636: 81 36 cpi r24, 0x61 ; 97
638: 91 05 cpc r25, r1
63a: 29 f0 breq .+10 ; 0x646 <main+0x66>
63c: 80 37 cpi r24, 0x70 ; 112
63e: 91 05 cpc r25, r1
640: 39 f7 brne .-50 ; 0x610 <main+0x30>
642: 8b dd rcall .-1258 ; 0x15a <pretty_print_all_values>
644: e5 cf rjmp .-54 ; 0x610 <main+0x30>
646: 81 e4 ldi r24, 0x41 ; 65
648: a2 df rcall .-188 ; 0x58e <uart_putc>
64a: 80 91 6a 00 lds r24, 0x006A
64e: 90 91 6b 00 lds r25, 0x006B
652: e9 de rcall .-558 ; 0x426 <uart_print_uint16>
654: 8c e2 ldi r24, 0x2C ; 44
656: 9b df rcall .-202 ; 0x58e <uart_putc>
658: 80 91 66 00 lds r24, 0x0066
65c: 90 91 67 00 lds r25, 0x0067
660: e2 de rcall .-572 ; 0x426 <uart_print_uint16>
662: 8c e2 ldi r24, 0x2C ; 44
664: 94 df rcall .-216 ; 0x58e <uart_putc>
666: 80 e0 ldi r24, 0x00 ; 0
668: 90 e0 ldi r25, 0x00 ; 0
66a: dd de rcall .-582 ; 0x426 <uart_print_uint16>
66c: 8c e2 ldi r24, 0x2C ; 44
66e: 8f df rcall .-226 ; 0x58e <uart_putc>
670: 80 91 66 00 lds r24, 0x0066
674: 90 91 67 00 lds r25, 0x0067
678: be 01 movw r22, r28
67a: 4b d0 rcall .+150 ; 0x712 <__divmodhi4>
67c: 9b 01 movw r18, r22
67e: 80 91 6a 00 lds r24, 0x006A
682: 90 91 6b 00 lds r25, 0x006B
686: be 01 movw r22, r28
688: 30 d0 rcall .+96 ; 0x6ea <__udivmodhi4>
68a: 26 9f mul r18, r22
68c: c0 01 movw r24, r0
68e: 27 9f mul r18, r23
690: 90 0d add r25, r0
692: 36 9f mul r19, r22
694: 90 0d add r25, r0
696: 11 24 eor r1, r1
698: be 01 movw r22, r28
69a: 27 d0 rcall .+78 ; 0x6ea <__udivmodhi4>
69c: cb 01 movw r24, r22
69e: c3 de rcall .-634 ; 0x426 <uart_print_uint16>
6a0: 8c e2 ldi r24, 0x2C ; 44
6a2: 75 df rcall .-278 ; 0x58e <uart_putc>
6a4: 80 e0 ldi r24, 0x00 ; 0
6a6: 90 e0 ldi r25, 0x00 ; 0
6a8: be de rcall .-644 ; 0x426 <uart_print_uint16>
6aa: 8c e2 ldi r24, 0x2C ; 44
6ac: 70 df rcall .-288 ; 0x58e <uart_putc>
6ae: 86 b3 in r24, 0x16 ; 22
6b0: 81 70 andi r24, 0x01 ; 1
6b2: 80 5d subi r24, 0xD0 ; 208
6b4: 6c df rcall .-296 ; 0x58e <uart_putc>
6b6: 8c e2 ldi r24, 0x2C ; 44
6b8: 6a df rcall .-300 ; 0x58e <uart_putc>
6ba: 80 e3 ldi r24, 0x30 ; 48
6bc: 68 df rcall .-304 ; 0x58e <uart_putc>
6be: 8c e2 ldi r24, 0x2C ; 44
6c0: 66 df rcall .-308 ; 0x58e <uart_putc>
6c2: 86 b3 in r24, 0x16 ; 22
6c4: 86 95 lsr r24
6c6: 81 70 andi r24, 0x01 ; 1
6c8: 80 5d subi r24, 0xD0 ; 208
6ca: 61 df rcall .-318 ; 0x58e <uart_putc>
6cc: 82 e4 ldi r24, 0x42 ; 66
6ce: 5f df rcall .-322 ; 0x58e <uart_putc>
6d0: 9f cf rjmp .-194 ; 0x610 <main+0x30>
000006d2 <__udivmodqi4>:
6d2: 99 1b sub r25, r25
6d4: 79 e0 ldi r23, 0x09 ; 9
6d6: 04 c0 rjmp .+8 ; 0x6e0 <__udivmodqi4_ep>
000006d8 <__udivmodqi4_loop>:
6d8: 99 1f adc r25, r25
6da: 96 17 cp r25, r22
6dc: 08 f0 brcs .+2 ; 0x6e0 <__udivmodqi4_ep>
6de: 96 1b sub r25, r22
000006e0 <__udivmodqi4_ep>:
6e0: 88 1f adc r24, r24
6e2: 7a 95 dec r23
6e4: c9 f7 brne .-14 ; 0x6d8 <__udivmodqi4_loop>
6e6: 80 95 com r24
6e8: 08 95 ret
000006ea <__udivmodhi4>:
6ea: aa 1b sub r26, r26
6ec: bb 1b sub r27, r27
6ee: 51 e1 ldi r21, 0x11 ; 17
6f0: 07 c0 rjmp .+14 ; 0x700 <__udivmodhi4_ep>
000006f2 <__udivmodhi4_loop>:
6f2: aa 1f adc r26, r26
6f4: bb 1f adc r27, r27
6f6: a6 17 cp r26, r22
6f8: b7 07 cpc r27, r23
6fa: 10 f0 brcs .+4 ; 0x700 <__udivmodhi4_ep>
6fc: a6 1b sub r26, r22
6fe: b7 0b sbc r27, r23
00000700 <__udivmodhi4_ep>:
700: 88 1f adc r24, r24
702: 99 1f adc r25, r25
704: 5a 95 dec r21
706: a9 f7 brne .-22 ; 0x6f2 <__udivmodhi4_loop>
708: 80 95 com r24
70a: 90 95 com r25
70c: bc 01 movw r22, r24
70e: cd 01 movw r24, r26
710: 08 95 ret
00000712 <__divmodhi4>:
712: 97 fb bst r25, 7
714: 07 2e mov r0, r23
716: 16 f4 brtc .+4 ; 0x71c <__divmodhi4+0xa>
718: 00 94 com r0
71a: 06 d0 rcall .+12 ; 0x728 <__divmodhi4_neg1>
71c: 77 fd sbrc r23, 7
71e: 08 d0 rcall .+16 ; 0x730 <__divmodhi4_neg2>
720: e4 df rcall .-56 ; 0x6ea <__udivmodhi4>
722: 07 fc sbrc r0, 7
724: 05 d0 rcall .+10 ; 0x730 <__divmodhi4_neg2>
726: 3e f4 brtc .+14 ; 0x736 <__divmodhi4_exit>
00000728 <__divmodhi4_neg1>:
728: 90 95 com r25
72a: 81 95 neg r24
72c: 9f 4f sbci r25, 0xFF ; 255
72e: 08 95 ret
00000730 <__divmodhi4_neg2>:
730: 70 95 com r23
732: 61 95 neg r22
734: 7f 4f sbci r23, 0xFF ; 255
00000736 <__divmodhi4_exit>:
736: 08 95 ret
00000738 <_exit>:
738: f8 94 cli
0000073a <__stop_program>:
73a: ff cf rjmp .-2 ; 0x73a <__stop_program>

View File

@ -0,0 +1,543 @@
Archive member included because of file (symbol)
/usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
src/adc.o (__udivmodqi4)
/usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
src/main.o (__udivmodhi4)
/usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
src/main.o (__divmodhi4)
/usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
/usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o (exit)
/usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
src/main.o (__do_clear_bss)
Memory Configuration
Name Origin Length Attributes
text 0x0000000000000000 0x0000000000002000 xr
data 0x0000000000800060 0x000000000000ffa0 rw !x
eeprom 0x0000000000810000 0x0000000000010000 rw !x
fuse 0x0000000000820000 0x0000000000000400 rw !x
lock 0x0000000000830000 0x0000000000000400 rw !x
signature 0x0000000000840000 0x0000000000000400 rw !x
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
LOAD /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
LOAD src/main.o
LOAD src/adc.o
LOAD src/utils.o
LOAD src/uart.o
LOAD /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a
LOAD /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/libc.a
LOAD /usr/lib/gcc/avr/4.7.2/avr4/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 0x0000000000000000 0x73a
*(.vectors)
.vectors 0x0000000000000000 0x26 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
0x0000000000000000 __vectors
0x0000000000000000 __vector_default
*(.vectors)
*(.progmem.gcc*)
*(.progmem*)
.progmem.data 0x0000000000000026 0x63 src/main.o
0x000000000000008a . = ALIGN (0x2)
*fill* 0x0000000000000089 0x1 00
0x000000000000008a __trampolines_start = .
*(.trampolines)
.trampolines 0x000000000000008a 0x0 linker stubs
*(.trampolines*)
0x000000000000008a __trampolines_end = .
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x000000000000008a __ctors_start = .
*(.ctors)
0x000000000000008a __ctors_end = .
0x000000000000008a __dtors_start = .
*(.dtors)
0x000000000000008a __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x000000000000008a 0x0 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
0x000000000000008a __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x000000000000008a 0xc /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x0000000000000096 0x10 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
0x0000000000000096 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x00000000000000a6 0x4 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
*(.init9)
*(.text)
.text 0x00000000000000aa 0x2 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
0x00000000000000aa __vector_1
0x00000000000000aa __bad_interrupt
0x00000000000000aa __vector_3
0x00000000000000aa __vector_13
0x00000000000000aa __vector_17
0x00000000000000aa __vector_7
0x00000000000000aa __vector_5
0x00000000000000aa __vector_4
0x00000000000000aa __vector_9
0x00000000000000aa __vector_2
0x00000000000000aa __vector_15
0x00000000000000aa __vector_8
0x00000000000000aa __vector_14
0x00000000000000aa __vector_10
0x00000000000000aa __vector_16
0x00000000000000aa __vector_18
.text 0x00000000000000ac 0x262 src/main.o
0x00000000000000ac measure
0x0000000000000128 get_power
0x000000000000015a pretty_print_all_values
0x00000000000001f8 handle_over_and_undervoltage
0x0000000000000290 __vector_6
.text 0x000000000000030e 0x6e src/adc.o
0x000000000000030e adc_init
0x0000000000000324 adc_read_single
0x000000000000033c adc_read_avg
.text 0x000000000000037c 0x112 src/utils.o
0x000000000000037c wait
0x0000000000000398 uart_print_voltage
0x00000000000003e6 uart_print_uint8
0x0000000000000424 uart_print_uint16
.text 0x000000000000048e 0x150 src/uart.o
0x000000000000048e __vector_11
0x00000000000004e6 __vector_12
0x0000000000000530 uart_init
0x0000000000000558 uart_getc
0x000000000000058c uart_putc
0x00000000000005ae uart_puts
0x00000000000005c4 uart_puts_p
.text 0x00000000000005de 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
.text 0x00000000000005de 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
.text 0x00000000000005de 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
.text 0x00000000000005de 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
.text 0x00000000000005de 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
0x00000000000005de . = ALIGN (0x2)
*(.text.*)
.text.startup 0x00000000000005de 0xf2 src/main.o
0x00000000000005de main
.text.libgcc.mul
0x00000000000006d0 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
.text.libgcc.div
0x00000000000006d0 0x18 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
0x00000000000006d0 __udivmodqi4
.text.libgcc 0x00000000000006e8 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
.text.libgcc.prologue
0x00000000000006e8 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
.text.libgcc.builtins
0x00000000000006e8 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
.text.libgcc.fmul
0x00000000000006e8 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
.text.libgcc.mul
0x00000000000006e8 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
.text.libgcc.div
0x00000000000006e8 0x28 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
0x00000000000006e8 __udivmodhi4
.text.libgcc 0x0000000000000710 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
.text.libgcc.prologue
0x0000000000000710 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
.text.libgcc.builtins
0x0000000000000710 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
.text.libgcc.fmul
0x0000000000000710 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
.text.libgcc.mul
0x0000000000000710 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
.text.libgcc.div
0x0000000000000710 0x26 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
0x0000000000000710 __divmodhi4
0x0000000000000710 _div
.text.libgcc 0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
.text.libgcc.prologue
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
.text.libgcc.builtins
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
.text.libgcc.fmul
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
.text.libgcc.mul
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
.text.libgcc.div
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
.text.libgcc 0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
.text.libgcc.prologue
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
.text.libgcc.builtins
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
.text.libgcc.fmul
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
.text.libgcc.mul
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
.text.libgcc.div
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
.text.libgcc 0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
.text.libgcc.prologue
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
.text.libgcc.builtins
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
.text.libgcc.fmul
0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
0x0000000000000736 . = ALIGN (0x2)
*(.fini9)
.fini9 0x0000000000000736 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
0x0000000000000736 exit
0x0000000000000736 _exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x0000000000000736 0x4 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
*(.fini0)
0x000000000000073a _etext = .
.data 0x0000000000800060 0x0 load address 0x000000000000073a
0x0000000000800060 PROVIDE (__data_start, .)
*(.data)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
.data 0x0000000000800060 0x0 src/main.o
.data 0x0000000000800060 0x0 src/adc.o
.data 0x0000000000800060 0x0 src/utils.o
.data 0x0000000000800060 0x0 src/uart.o
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
*(.data*)
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x0000000000800060 . = ALIGN (0x2)
0x0000000000800060 _edata = .
0x0000000000800060 PROVIDE (__data_end, .)
.bss 0x0000000000800060 0x55
0x0000000000800060 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
.bss 0x0000000000800060 0x10 src/main.o
0x0000000000800060 generator_off_counter
0x0000000000800061 generator_counter
0x0000000000800062 undervoltage_off_counter
0x0000000000800063 undervoltage_counter
0x0000000000800064 overvoltage_off_counter
0x0000000000800065 overvoltage_counter
0x0000000000800066 current_in
0x0000000000800068 voltage_gen
0x000000000080006a voltage_bat
0x000000000080006c syscounter
.bss 0x0000000000800070 0x0 src/adc.o
.bss 0x0000000000800070 0x0 src/utils.o
.bss 0x0000000000800070 0x45 src/uart.o
.bss 0x00000000008000b5 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
.bss 0x00000000008000b5 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
.bss 0x00000000008000b5 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
.bss 0x00000000008000b5 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
.bss 0x00000000008000b5 0x0 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
*(.bss*)
*(COMMON)
0x00000000008000b5 PROVIDE (__bss_end, .)
0x000000000000073a __data_load_start = LOADADDR (.data)
0x000000000000073a __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00000000008000b5 0x0
0x00000000008000b5 PROVIDE (__noinit_start, .)
*(.noinit*)
0x00000000008000b5 PROVIDE (__noinit_end, .)
0x00000000008000b5 _end = .
0x00000000008000b5 PROVIDE (__heap_start, .)
.eeprom 0x0000000000810000 0x0
*(.eeprom*)
0x0000000000810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.stab 0x0000000000000000 0x6cc
*(.stab)
.stab 0x0000000000000000 0x6cc /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
.stabstr 0x0000000000000000 0x54
*(.stabstr)
.stabstr 0x0000000000000000 0x54 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x0000000000000000 0x11
*(.comment)
.comment 0x0000000000000000 0x11 src/main.o
0x12 (size before relaxing)
.comment 0x0000000000000000 0x12 src/adc.o
.comment 0x0000000000000000 0x12 src/utils.o
.comment 0x0000000000000000 0x12 src/uart.o
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges
*(.debug_aranges)
.debug_pubnames
*(.debug_pubnames)
.debug_info
*(.debug_info)
*(.gnu.linkonce.wi.*)
.debug_abbrev
*(.debug_abbrev)
.debug_line
*(.debug_line)
.debug_frame
*(.debug_frame)
.debug_str
*(.debug_str)
.debug_loc
*(.debug_loc)
.debug_macinfo
*(.debug_macinfo)
OUTPUT(main.elf elf32-avr)
LOAD linker stubs
Cross Reference Table
Symbol File
__bad_interrupt /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__bss_end /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
__bss_start /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
__divmodhi4 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
src/main.o
__do_clear_bss /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_clear_bss.o)
src/uart.o
src/main.o
__heap_end /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__init /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__stack /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__udivmodhi4 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodhi4.o)
/usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
src/utils.o
src/adc.o
src/main.o
__udivmodqi4 /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_udivmodqi4.o)
src/utils.o
src/adc.o
__vector_1 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_10 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_11 src/uart.o
/usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_12 src/uart.o
/usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_13 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_14 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_15 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_16 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_17 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_18 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_2 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_3 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_4 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_5 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_6 src/main.o
/usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_7 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_8 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_9 /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vector_default /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
__vectors /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
_div /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_divmodhi4.o)
_exit /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
adc_init src/adc.o
src/main.o
adc_read_avg src/adc.o
src/main.o
adc_read_single src/adc.o
current_in src/main.o
exit /usr/lib/gcc/avr/4.7.2/avr4/libgcc.a(_exit.o)
/usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
generator_counter src/main.o
generator_off_counter src/main.o
get_power src/main.o
handle_over_and_undervoltage src/main.o
main src/main.o
/usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr4/crtm8.o
measure src/main.o
overvoltage_counter src/main.o
overvoltage_off_counter src/main.o
pretty_print_all_values src/main.o
syscounter src/main.o
uart_getc src/uart.o
src/main.o
uart_init src/uart.o
src/main.o
uart_print_uint16 src/utils.o
src/main.o
uart_print_uint8 src/utils.o
uart_print_voltage src/utils.o
uart_putc src/uart.o
src/utils.o
src/main.o
uart_puts src/uart.o
uart_puts_p src/uart.o
src/main.o
undervoltage_counter src/main.o
undervoltage_off_counter src/main.o
voltage_bat src/main.o
voltage_gen src/main.o
wait src/utils.o

View File

@ -0,0 +1,119 @@
00000000 W __heap_end
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 a __tmp_reg__
00000000 W __vector_default
00000000 T __vectors
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000001 a __zero_reg__
00000026 t __c.1594
0000003a t __c.1596
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003d a __SP_L__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003e a __SP_H__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f a __SREG__
0000003f t __c.1598
00000055 t __c.1600
0000005a t __c.1602
00000066 t __c.1604
0000006b t __c.1606
0000006f t __c.1608
00000086 t __c.1610
0000008a T __ctors_end
0000008a T __ctors_start
0000008a T __dtors_end
0000008a T __dtors_start
0000008a W __init
0000008a T __trampolines_end
0000008a T __trampolines_start
00000096 T __do_clear_bss
0000009e t .do_clear_bss_loop
000000a0 t .do_clear_bss_start
000000aa T __bad_interrupt
000000aa W __vector_1
000000aa W __vector_10
000000aa W __vector_13
000000aa W __vector_14
000000aa W __vector_15
000000aa W __vector_16
000000aa W __vector_17
000000aa W __vector_18
000000aa W __vector_2
000000aa W __vector_3
000000aa W __vector_4
000000aa W __vector_5
000000aa W __vector_7
000000aa W __vector_8
000000aa W __vector_9
000000ac T measure
00000128 T get_power
0000015a T pretty_print_all_values
000001f8 T handle_over_and_undervoltage
00000292 T __vector_6
00000310 T adc_init
00000326 T adc_read_single
0000033e T adc_read_avg
0000037e T wait
0000039a T uart_print_voltage
000003e8 T uart_print_uint8
00000426 T uart_print_uint16
0000045f W __stack
00000490 T __vector_11
000004e8 T __vector_12
00000532 T uart_init
0000055a T uart_getc
0000058e T uart_putc
000005b0 T uart_puts
000005c6 T uart_puts_p
000005e0 T main
000006d2 T __udivmodqi4
000006d8 t __udivmodqi4_loop
000006e0 t __udivmodqi4_ep
000006ea T __udivmodhi4
000006f2 t __udivmodhi4_loop
00000700 t __udivmodhi4_ep
00000712 T __divmodhi4
00000712 T _div
00000728 t __divmodhi4_neg1
00000730 t __divmodhi4_neg2
00000736 t __divmodhi4_exit
00000738 T _exit
00000738 W exit
0000073a t __stop_program
0000073c A __data_load_end
0000073c A __data_load_start
0000073c T _etext
00800060 B __bss_start
00800060 T _edata
00800060 B generator_off_counter
00800061 B generator_counter
00800062 B undervoltage_off_counter
00800063 B undervoltage_counter
00800064 B overvoltage_off_counter
00800065 B overvoltage_counter
00800066 B current_in
00800068 B voltage_gen
0080006a B voltage_bat
0080006c B syscounter
0080006e b temp.1586
00800070 b UART_LastRxError
00800071 b UART_RxTail
00800072 b UART_RxHead
00800073 b UART_TxTail
00800074 b UART_TxHead
00800075 b UART_RxBuf
00800095 b UART_TxBuf
008000b5 B __bss_end
008000b5 N _end
00810000 N __eeprom_end

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="C++" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="jdk" jdkName="Cpp SDK" jdkType="CppSdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,100 @@
1 .file "adc.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .text
8 .global adc_init
10 adc_init:
11 /* prologue: function */
12 /* frame size = 0 */
13 /* stack size = 0 */
14 .L__stack_usage = 0
15 0000 80E4 ldi r24,lo8(64)
16 0002 87B9 out 0x7,r24
17 0004 83E0 ldi r24,lo8(3)
18 0006 86B9 out 0x6,r24
19 0008 379A sbi 0x6,7
20 000a 369A sbi 0x6,6
21 .L2:
22 000c 3699 sbic 0x6,6
23 000e 00C0 rjmp .L2
24 0010 84B1 in r24,0x4
25 0012 95B1 in r25,0x4+1
26 0014 0895 ret
28 .global adc_read_single
30 adc_read_single:
31 /* prologue: function */
32 /* frame size = 0 */
33 /* stack size = 0 */
34 .L__stack_usage = 0
35 0016 97B1 in r25,0x7
36 0018 8F71 andi r24,lo8(31)
37 001a 907E andi r25,lo8(-32)
38 001c 892B or r24,r25
39 001e 87B9 out 0x7,r24
40 0020 369A sbi 0x6,6
41 .L5:
42 0022 3699 sbic 0x6,6
43 0024 00C0 rjmp .L5
44 0026 24B1 in r18,0x4
45 0028 35B1 in r19,0x4+1
46 002a C901 movw r24,r18
47 002c 0895 ret
49 .global adc_read_avg
51 adc_read_avg:
52 002e FF92 push r15
53 0030 0F93 push r16
54 0032 1F93 push r17
55 0034 CF93 push r28
56 0036 DF93 push r29
57 /* prologue: function */
58 /* frame size = 0 */
59 /* stack size = 5 */
60 .L__stack_usage = 5
61 0038 082F mov r16,r24
62 003a 862F mov r24,r22
63 003c 6CE3 ldi r22,lo8(60)
64 003e 00D0 rcall __udivmodqi4
65 0040 F92E mov r15,r25
66 0042 10E0 ldi r17,0
67 0044 C0E0 ldi r28,0
68 0046 D0E0 ldi r29,0
69 0048 00C0 rjmp .L8
70 .L9:
71 004a 802F mov r24,r16
72 004c 00D0 rcall adc_read_single
73 004e C80F add r28,r24
74 0050 D91F adc r29,r25
75 0052 1F5F subi r17,lo8(-(1))
76 .L8:
77 0054 1F11 cpse r17,r15
78 0056 00C0 rjmp .L9
79 0058 612F mov r22,r17
80 005a CE01 movw r24,r28
81 005c 70E0 ldi r23,0
82 005e 00D0 rcall __udivmodhi4
83 0060 CB01 movw r24,r22
84 /* epilogue start */
85 0062 DF91 pop r29
86 0064 CF91 pop r28
87 0066 1F91 pop r17
88 0068 0F91 pop r16
89 006a FF90 pop r15
90 006c 0895 ret
92 .ident "GCC: (GNU) 4.7.2"
DEFINED SYMBOLS
*ABS*:0000000000000000 adc.c
/tmp/ccEsNr7S.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccEsNr7S.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccEsNr7S.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccEsNr7S.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccEsNr7S.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccEsNr7S.s:10 .text:0000000000000000 adc_init
/tmp/ccEsNr7S.s:30 .text:0000000000000016 adc_read_single
/tmp/ccEsNr7S.s:51 .text:000000000000002e adc_read_avg
UNDEFINED SYMBOLS
__udivmodqi4
__udivmodhi4

Binary file not shown.

View File

@ -33,6 +33,7 @@ static void ports_init(void) {
}
void measure(void) {
static int16_t temp;
voltage_bat = adc_read_avg(AD_V_BAT, 4);
@ -183,7 +184,7 @@ int main(void) {
measure();
pretty_print_all_values();
//pretty_print_all_values();
handle_over_and_undervoltage();
}

View File

@ -19,16 +19,16 @@
#define IS_LOAD_ON (PIN_SW & _BV(LOADSW))
#define IS_GEN_ON (PIN_SW & _BV(GENSW))
#define GENERATOR 13000
#define GENERATOR_TIMEOUT 2
#define GENERATOR_OFF_TIMEOUT 5
#define GENERATOR 13000
#define GENERATOR_TIMEOUT 3
#define GENERATOR_OFF_TIMEOUT 1
#define UNDERVOLTAGE 11200
#define OVERVOLTAGE 15000
#define OVERVOLTAGE_TIMEOUT 8
#define OVERVOLTAGEOFF_TIMEOUT 4
#define UNDERVOLTAGE_TIMEOUT 8
#define UNDERVOLTAGEOFF_TIMEOUT 4
#define UNDERVOLTAGE 11200
#define OVERVOLTAGE 15000
#define OVERVOLTAGE_TIMEOUT 5
#define OVERVOLTAGEOFF_TIMEOUT 3
#define UNDERVOLTAGE_TIMEOUT 5
#define UNDERVOLTAGEOFF_TIMEOUT 3
#define CURRENT_OFFSET 511
#define CURRENT_PER_TICK 72

View File

@ -0,0 +1,544 @@
1 .file "main.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .text
8 .global measure
10 measure:
11 0000 CF93 push r28
12 /* prologue: function */
13 /* frame size = 0 */
14 /* stack size = 1 */
15 .L__stack_usage = 1
16 0002 64E0 ldi r22,lo8(4)
17 0004 82E0 ldi r24,lo8(2)
18 0006 00D0 rcall adc_read_avg
19 0008 CFE0 ldi r28,lo8(15)
20 000a 9C01 movw r18,r24
21 000c C29F mul r28,r18
22 000e C001 movw r24,r0
23 0010 C39F mul r28,r19
24 0012 900D add r25,r0
25 0014 1124 clr __zero_reg__
26 0016 8A5E subi r24,-22
27 0018 9C4F sbci r25,-4
28 001a 9093 0000 sts voltage_bat+1,r25
29 001e 8093 0000 sts voltage_bat,r24
30 0022 64E0 ldi r22,lo8(4)
31 0024 80E0 ldi r24,0
32 0026 00D0 rcall adc_read_avg
33 0028 9C01 movw r18,r24
34 002a C29F mul r28,r18
35 002c C001 movw r24,r0
36 002e C39F mul r28,r19
37 0030 900D add r25,r0
38 0032 1124 clr __zero_reg__
39 0034 9093 0000 sts voltage_gen+1,r25
40 0038 8093 0000 sts voltage_gen,r24
41 003c 64E0 ldi r22,lo8(4)
42 003e 81E0 ldi r24,lo8(1)
43 0040 00D0 rcall adc_read_avg
44 0042 8F5F subi r24,-1
45 0044 9140 sbci r25,1
46 0046 97FD sbrc r25,7
47 0048 00C0 rjmp .L2
48 004a 9093 0000 sts temp.1586+1,r25
49 004e 8093 0000 sts temp.1586,r24
50 0052 00C0 rjmp .L3
51 .L2:
52 0054 1092 0000 sts temp.1586+1,__zero_reg__
53 0058 1092 0000 sts temp.1586,__zero_reg__
54 .L3:
55 005c 2091 0000 lds r18,temp.1586
56 0060 3091 0000 lds r19,temp.1586+1
57 0064 48E4 ldi r20,lo8(72)
58 0066 429F mul r20,r18
59 0068 C001 movw r24,r0
60 006a 439F mul r20,r19
61 006c 900D add r25,r0
62 006e 1124 clr __zero_reg__
63 0070 9093 0000 sts current_in+1,r25
64 0074 8093 0000 sts current_in,r24
65 /* epilogue start */
66 0078 CF91 pop r28
67 007a 0895 ret
69 .global get_power
71 get_power:
72 007c CF93 push r28
73 007e DF93 push r29
74 /* prologue: function */
75 /* frame size = 0 */
76 /* stack size = 2 */
77 .L__stack_usage = 2
78 0080 EC01 movw r28,r24
79 0082 CB01 movw r24,r22
80 0084 24E6 ldi r18,lo8(100)
81 0086 30E0 ldi r19,0
82 0088 B901 movw r22,r18
83 008a 00D0 rcall __divmodhi4
84 008c FB01 movw r30,r22
85 008e CE01 movw r24,r28
86 0090 B901 movw r22,r18
87 0092 00D0 rcall __udivmodhi4
88 0094 E69F mul r30,r22
89 0096 C001 movw r24,r0
90 0098 E79F mul r30,r23
91 009a 900D add r25,r0
92 009c F69F mul r31,r22
93 009e 900D add r25,r0
94 00a0 1124 clr r1
95 00a2 B901 movw r22,r18
96 00a4 00D0 rcall __udivmodhi4
97 00a6 CB01 movw r24,r22
98 /* epilogue start */
99 00a8 DF91 pop r29
100 00aa CF91 pop r28
101 00ac 0895 ret
103 .global pretty_print_all_values
105 pretty_print_all_values:
106 /* prologue: function */
107 /* frame size = 0 */
108 /* stack size = 0 */
109 .L__stack_usage = 0
110 00ae 80E0 ldi r24,lo8(__c.1594)
111 00b0 90E0 ldi r25,hi8(__c.1594)
112 00b2 00D0 rcall uart_puts_p
113 00b4 8091 0000 lds r24,voltage_bat
114 00b8 9091 0000 lds r25,voltage_bat+1
115 00bc 00D0 rcall uart_print_uint16
116 00be 80E0 ldi r24,lo8(__c.1596)
117 00c0 90E0 ldi r25,hi8(__c.1596)
118 00c2 00D0 rcall uart_puts_p
119 00c4 80E0 ldi r24,lo8(__c.1598)
120 00c6 90E0 ldi r25,hi8(__c.1598)
121 00c8 00D0 rcall uart_puts_p
122 00ca 8091 0000 lds r24,voltage_gen
123 00ce 9091 0000 lds r25,voltage_gen+1
124 00d2 00D0 rcall uart_print_uint16
125 00d4 80E0 ldi r24,lo8(__c.1600)
126 00d6 90E0 ldi r25,hi8(__c.1600)
127 00d8 00D0 rcall uart_puts_p
128 00da 80E0 ldi r24,lo8(__c.1602)
129 00dc 90E0 ldi r25,hi8(__c.1602)
130 00de 00D0 rcall uart_puts_p
131 00e0 8091 0000 lds r24,current_in
132 00e4 9091 0000 lds r25,current_in+1
133 00e8 00D0 rcall uart_print_uint16
134 00ea 80E0 ldi r24,lo8(__c.1604)
135 00ec 90E0 ldi r25,hi8(__c.1604)
136 00ee 00D0 rcall uart_puts_p
137 00f0 8091 0000 lds r24,current_in
138 00f4 9091 0000 lds r25,current_in+1
139 00f8 24E6 ldi r18,lo8(100)
140 00fa 30E0 ldi r19,0
141 00fc B901 movw r22,r18
142 00fe 00D0 rcall __divmodhi4
143 0100 FB01 movw r30,r22
144 0102 8091 0000 lds r24,voltage_bat
145 0106 9091 0000 lds r25,voltage_bat+1
146 010a B901 movw r22,r18
147 010c 00D0 rcall __udivmodhi4
148 010e E69F mul r30,r22
149 0110 C001 movw r24,r0
150 0112 E79F mul r30,r23
151 0114 900D add r25,r0
152 0116 F69F mul r31,r22
153 0118 900D add r25,r0
154 011a 1124 clr r1
155 011c B901 movw r22,r18
156 011e 00D0 rcall __udivmodhi4
157 0120 CB01 movw r24,r22
158 0122 00D0 rcall uart_print_uint16
159 0124 80E0 ldi r24,lo8(__c.1606)
160 0126 90E0 ldi r25,hi8(__c.1606)
161 0128 00D0 rcall uart_puts_p
162 012a 80E0 ldi r24,lo8(__c.1608)
163 012c 90E0 ldi r25,hi8(__c.1608)
164 012e 00D0 rcall uart_puts_p
165 0130 86B3 in r24,0x16
166 0132 8170 andi r24,lo8(1)
167 0134 805D subi r24,lo8(-(48))
168 0136 00D0 rcall uart_putc
169 0138 8CE2 ldi r24,lo8(44)
170 013a 00D0 rcall uart_putc
171 013c 86B3 in r24,0x16
172 013e 8695 lsr r24
173 0140 8170 andi r24,1
174 0142 805D subi r24,lo8(-(48))
175 0144 00D0 rcall uart_putc
176 0146 80E0 ldi r24,lo8(__c.1610)
177 0148 90E0 ldi r25,hi8(__c.1610)
178 014a 00C0 rjmp uart_puts_p
180 .global handle_over_and_undervoltage
182 handle_over_and_undervoltage:
183 /* prologue: function */
184 /* frame size = 0 */
185 /* stack size = 0 */
186 .L__stack_usage = 0
187 014c 8091 0000 lds r24,voltage_bat
188 0150 9091 0000 lds r25,voltage_bat+1
189 0154 803C cpi r24,-64
190 0156 9B42 sbci r25,43
191 0158 00F4 brsh .L7
192 015a 1092 0000 sts undervoltage_off_counter,__zero_reg__
193 015e 8091 0000 lds r24,undervoltage_counter
194 0162 8530 cpi r24,lo8(5)
195 0164 00F4 brsh .L9
196 0166 8F5F subi r24,lo8(-(1))
197 0168 8093 0000 sts undervoltage_counter,r24
198 016c 00C0 rjmp .L9
199 .L7:
200 016e 1092 0000 sts undervoltage_counter,__zero_reg__
201 0172 8091 0000 lds r24,undervoltage_off_counter
202 0176 8330 cpi r24,lo8(3)
203 0178 00F4 brsh .L9
204 017a 8F5F subi r24,lo8(-(1))
205 017c 8093 0000 sts undervoltage_off_counter,r24
206 .L9:
207 0180 8091 0000 lds r24,voltage_gen
208 0184 9091 0000 lds r25,voltage_gen+1
209 0188 893C cpi r24,-55
210 018a 9243 sbci r25,50
211 018c 00F0 brlo .L11
212 018e 1092 0000 sts generator_off_counter,__zero_reg__
213 0192 8091 0000 lds r24,generator_counter
214 0196 8330 cpi r24,lo8(3)
215 0198 00F4 brsh .L13
216 019a 8F5F subi r24,lo8(-(1))
217 019c 8093 0000 sts generator_counter,r24
218 01a0 00C0 rjmp .L13
219 .L11:
220 01a2 1092 0000 sts generator_counter,__zero_reg__
221 01a6 8091 0000 lds r24,generator_off_counter
222 01aa 8111 cpse r24,__zero_reg__
223 01ac 00C0 rjmp .L13
224 01ae 81E0 ldi r24,lo8(1)
225 01b0 8093 0000 sts generator_off_counter,r24
226 .L13:
227 01b4 8091 0000 lds r24,undervoltage_counter
228 01b8 8530 cpi r24,lo8(5)
229 01ba 00F0 brlo .L15
230 01bc 1092 0000 sts undervoltage_off_counter,__zero_reg__
231 01c0 00C0 rjmp .L23
232 .L15:
233 01c2 8091 0000 lds r24,undervoltage_off_counter
234 01c6 8330 cpi r24,lo8(3)
235 01c8 00F0 brlo .L6
236 01ca 1092 0000 sts undervoltage_counter,__zero_reg__
237 01ce 8091 0000 lds r24,generator_counter
238 01d2 8330 cpi r24,lo8(3)
239 01d4 00F0 brlo .L18
240 01d6 C09A sbi 0x18,0
241 01d8 0895 ret
242 .L18:
243 01da 8091 0000 lds r24,generator_off_counter
244 01de 8111 cpse r24,__zero_reg__
245 .L23:
246 01e0 C098 cbi 0x18,0
247 .L6:
248 01e2 0895 ret
250 .section .text.startup,"ax",@progbits
251 .global main
253 main:
254 /* prologue: function */
255 /* frame size = 0 */
256 /* stack size = 0 */
257 .L__stack_usage = 0
258 0000 87B3 in r24,0x17
259 0002 8360 ori r24,lo8(3)
260 0004 87BB out 0x17,r24
261 0006 88B3 in r24,0x18
262 0008 8C7F andi r24,lo8(-4)
263 000a 88BB out 0x18,r24
264 000c 00D0 rcall adc_init
265 000e 8EB5 in r24,0x2e
266 0010 8B60 ori r24,lo8(11)
267 0012 8EBD out 0x2e,r24
268 0014 82EE ldi r24,lo8(-30)
269 0016 94E0 ldi r25,lo8(4)
270 0018 9BBD out 0x2a+1,r25
271 001a 8ABD out 0x2a,r24
272 001c 80E1 ldi r24,lo8(16)
273 001e 89BF out 0x39,r24
274 /* #APP */
275 ; 27 "src/main.c" 1
276 0020 7894 sei
277 ; 0 "" 2
278 /* #NOAPP */
279 0022 89E1 ldi r24,lo8(25)
280 0024 90E0 ldi r25,0
281 0026 00D0 rcall uart_init
282 0028 C098 cbi 0x18,0
283 002a C19A sbi 0x18,1
284 002c C4E6 ldi r28,lo8(100)
285 002e D0E0 ldi r29,0
286 .L35:
287 0030 8091 0000 lds r24,syscounter
288 0034 9091 0000 lds r25,syscounter+1
289 0038 8436 cpi r24,100
290 003a 9105 cpc r25,__zero_reg__
291 003c 00F0 brlo .L27
292 003e 1092 0000 sts syscounter+1,__zero_reg__
293 0042 1092 0000 sts syscounter,__zero_reg__
294 0046 00D0 rcall measure
295 0048 00D0 rcall handle_over_and_undervoltage
296 .L27:
297 004a 00D0 rcall uart_getc
298 004c 8115 cp r24,__zero_reg__
299 004e 21E0 ldi r18,1
300 0050 9207 cpc r25,r18
301 0052 01F0 breq .L35
302 0054 9927 clr r25
303 0056 8136 cpi r24,97
304 0058 9105 cpc r25,__zero_reg__
305 005a 01F0 breq .L28
306 005c 8037 cpi r24,112
307 005e 9105 cpc r25,__zero_reg__
308 0060 01F4 brne .L35
309 0062 00D0 rcall pretty_print_all_values
310 0064 00C0 rjmp .L35
311 .L28:
312 0066 81E4 ldi r24,lo8(65)
313 0068 00D0 rcall uart_putc
314 006a 8091 0000 lds r24,voltage_bat
315 006e 9091 0000 lds r25,voltage_bat+1
316 0072 00D0 rcall uart_print_uint16
317 0074 8CE2 ldi r24,lo8(44)
318 0076 00D0 rcall uart_putc
319 0078 8091 0000 lds r24,current_in
320 007c 9091 0000 lds r25,current_in+1
321 0080 00D0 rcall uart_print_uint16
322 0082 8CE2 ldi r24,lo8(44)
323 0084 00D0 rcall uart_putc
324 0086 80E0 ldi r24,0
325 0088 90E0 ldi r25,0
326 008a 00D0 rcall uart_print_uint16
327 008c 8CE2 ldi r24,lo8(44)
328 008e 00D0 rcall uart_putc
329 0090 8091 0000 lds r24,current_in
330 0094 9091 0000 lds r25,current_in+1
331 0098 BE01 movw r22,r28
332 009a 00D0 rcall __divmodhi4
333 009c 9B01 movw r18,r22
334 009e 8091 0000 lds r24,voltage_bat
335 00a2 9091 0000 lds r25,voltage_bat+1
336 00a6 BE01 movw r22,r28
337 00a8 00D0 rcall __udivmodhi4
338 00aa 269F mul r18,r22
339 00ac C001 movw r24,r0
340 00ae 279F mul r18,r23
341 00b0 900D add r25,r0
342 00b2 369F mul r19,r22
343 00b4 900D add r25,r0
344 00b6 1124 clr r1
345 00b8 BE01 movw r22,r28
346 00ba 00D0 rcall __udivmodhi4
347 00bc CB01 movw r24,r22
348 00be 00D0 rcall uart_print_uint16
349 00c0 8CE2 ldi r24,lo8(44)
350 00c2 00D0 rcall uart_putc
351 00c4 80E0 ldi r24,0
352 00c6 90E0 ldi r25,0
353 00c8 00D0 rcall uart_print_uint16
354 00ca 8CE2 ldi r24,lo8(44)
355 00cc 00D0 rcall uart_putc
356 00ce 86B3 in r24,0x16
357 00d0 8170 andi r24,lo8(1)
358 00d2 805D subi r24,lo8(-(48))
359 00d4 00D0 rcall uart_putc
360 00d6 8CE2 ldi r24,lo8(44)
361 00d8 00D0 rcall uart_putc
362 00da 80E3 ldi r24,lo8(48)
363 00dc 00D0 rcall uart_putc
364 00de 8CE2 ldi r24,lo8(44)
365 00e0 00D0 rcall uart_putc
366 00e2 86B3 in r24,0x16
367 00e4 8695 lsr r24
368 00e6 8170 andi r24,1
369 00e8 805D subi r24,lo8(-(48))
370 00ea 00D0 rcall uart_putc
371 00ec 82E4 ldi r24,lo8(66)
372 00ee 00D0 rcall uart_putc
373 00f0 00C0 rjmp .L35
375 .text
376 .global __vector_6
378 __vector_6:
379 01e4 1F92 push r1
380 01e6 0F92 push r0
381 01e8 0FB6 in r0,__SREG__
382 01ea 0F92 push r0
383 01ec 1124 clr __zero_reg__
384 01ee 2F93 push r18
385 01f0 3F93 push r19
386 01f2 4F93 push r20
387 01f4 5F93 push r21
388 01f6 6F93 push r22
389 01f8 7F93 push r23
390 01fa 8F93 push r24
391 01fc 9F93 push r25
392 /* prologue: Signal */
393 /* frame size = 0 */
394 /* stack size = 11 */
395 .L__stack_usage = 11
396 01fe 8091 0000 lds r24,syscounter
397 0202 9091 0000 lds r25,syscounter+1
398 0206 0196 adiw r24,1
399 0208 9093 0000 sts syscounter+1,r25
400 020c 8093 0000 sts syscounter,r24
401 0210 2091 0000 lds r18,syscounter
402 0214 3091 0000 lds r19,syscounter+1
403 0218 81E0 ldi r24,lo8(1)
404 021a 90E0 ldi r25,0
405 021c 2036 cpi r18,96
406 021e 4AEE ldi r20,-22
407 0220 3407 cpc r19,r20
408 0222 00F4 brsh .L37
409 0224 80E0 ldi r24,0
410 0226 90E0 ldi r25,0
411 .L37:
412 0228 60E6 ldi r22,lo8(96)
413 022a 7AEE ldi r23,lo8(-22)
414 022c 869F mul r24,r22
415 022e A001 movw r20,r0
416 0230 879F mul r24,r23
417 0232 500D add r21,r0
418 0234 969F mul r25,r22
419 0236 500D add r21,r0
420 0238 1124 clr r1
421 023a C901 movw r24,r18
422 023c 841B sub r24,r20
423 023e 950B sbc r25,r21
424 0240 9093 0000 sts syscounter+1,r25
425 0244 8093 0000 sts syscounter,r24
426 /* epilogue start */
427 0248 9F91 pop r25
428 024a 8F91 pop r24
429 024c 7F91 pop r23
430 024e 6F91 pop r22
431 0250 5F91 pop r21
432 0252 4F91 pop r20
433 0254 3F91 pop r19
434 0256 2F91 pop r18
435 0258 0F90 pop r0
436 025a 0FBE out __SREG__,r0
437 025c 0F90 pop r0
438 025e 1F90 pop r1
439 0260 1895 reti
441 .global generator_off_counter
442 .section .bss
445 generator_off_counter:
446 0000 00 .zero 1
447 .global generator_counter
450 generator_counter:
451 0001 00 .zero 1
452 .global undervoltage_off_counter
455 undervoltage_off_counter:
456 0002 00 .zero 1
457 .global undervoltage_counter
460 undervoltage_counter:
461 0003 00 .zero 1
462 .global overvoltage_off_counter
465 overvoltage_off_counter:
466 0004 00 .zero 1
467 .global overvoltage_counter
470 overvoltage_counter:
471 0005 00 .zero 1
472 .global current_in
475 current_in:
476 0006 0000 .zero 2
477 .global voltage_gen
480 voltage_gen:
481 0008 0000 .zero 2
482 .global voltage_bat
485 voltage_bat:
486 000a 0000 .zero 2
487 .global syscounter
490 syscounter:
491 000c 0000 .zero 2
492 .local temp.1586
493 .comm temp.1586,2,1
494 .section .progmem.data,"a",@progbits
497 __c.1594:
498 0000 4261 7474 .string "Battery Voltage: "
498 6572 7920
498 566F 6C74
498 6167 653A
498 2020 2000
501 __c.1596:
502 0014 6D56 0D0A .string "mV\r\n"
502 00
505 __c.1598:
506 0019 4765 6E65 .string "Generator Voltage: "
506 7261 746F
506 7220 566F
506 6C74 6167
506 653A 2020
509 __c.1600:
510 002f 6D56 0D0A .string "mV\r\n"
510 00
513 __c.1602:
514 0034 4765 6E65 .string "Generator: "
514 7261 746F
514 723A 2000
517 __c.1604:
518 0040 6D41 2020 .string "mA "
518 00
521 __c.1606:
522 0045 570D 0A00 .string "W\r\n"
525 __c.1608:
526 0049 7377 6974 .string "switches (load, gen): "
526 6368 6573
526 2028 6C6F
526 6164 2C20
526 6765 6E29
529 __c.1610:
530 0060 0D0A 00 .string "\r\n"
531 .ident "GCC: (GNU) 4.7.2"
532 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:0000000000000000 main.c
/tmp/ccKzr9U4.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccKzr9U4.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccKzr9U4.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccKzr9U4.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccKzr9U4.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccKzr9U4.s:10 .text:0000000000000000 measure
/tmp/ccKzr9U4.s:485 .bss:000000000000000a voltage_bat
/tmp/ccKzr9U4.s:480 .bss:0000000000000008 voltage_gen
.bss:000000000000000e temp.1586
/tmp/ccKzr9U4.s:475 .bss:0000000000000006 current_in
/tmp/ccKzr9U4.s:71 .text:000000000000007c get_power
/tmp/ccKzr9U4.s:105 .text:00000000000000ae pretty_print_all_values
/tmp/ccKzr9U4.s:497 .progmem.data:0000000000000000 __c.1594
/tmp/ccKzr9U4.s:501 .progmem.data:0000000000000014 __c.1596
/tmp/ccKzr9U4.s:505 .progmem.data:0000000000000019 __c.1598
/tmp/ccKzr9U4.s:509 .progmem.data:000000000000002f __c.1600
/tmp/ccKzr9U4.s:513 .progmem.data:0000000000000034 __c.1602
/tmp/ccKzr9U4.s:517 .progmem.data:0000000000000040 __c.1604
/tmp/ccKzr9U4.s:521 .progmem.data:0000000000000045 __c.1606
/tmp/ccKzr9U4.s:525 .progmem.data:0000000000000049 __c.1608
/tmp/ccKzr9U4.s:529 .progmem.data:0000000000000060 __c.1610
/tmp/ccKzr9U4.s:182 .text:000000000000014c handle_over_and_undervoltage
/tmp/ccKzr9U4.s:455 .bss:0000000000000002 undervoltage_off_counter
/tmp/ccKzr9U4.s:460 .bss:0000000000000003 undervoltage_counter
/tmp/ccKzr9U4.s:445 .bss:0000000000000000 generator_off_counter
/tmp/ccKzr9U4.s:450 .bss:0000000000000001 generator_counter
/tmp/ccKzr9U4.s:253 .text.startup:0000000000000000 main
/tmp/ccKzr9U4.s:490 .bss:000000000000000c syscounter
/tmp/ccKzr9U4.s:378 .text:00000000000001e4 __vector_6
/tmp/ccKzr9U4.s:465 .bss:0000000000000004 overvoltage_off_counter
/tmp/ccKzr9U4.s:470 .bss:0000000000000005 overvoltage_counter
UNDEFINED SYMBOLS
adc_read_avg
__divmodhi4
__udivmodhi4
uart_puts_p
uart_print_uint16
uart_putc
adc_init
uart_init
uart_getc
__do_clear_bss

Binary file not shown.

View File

@ -0,0 +1,256 @@
1 .file "uart.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .text
8 .global __vector_11
10 __vector_11:
11 0000 1F92 push r1
12 0002 0F92 push r0
13 0004 0FB6 in r0,__SREG__
14 0006 0F92 push r0
15 0008 1124 clr __zero_reg__
16 000a 2F93 push r18
17 000c 8F93 push r24
18 000e 9F93 push r25
19 0010 EF93 push r30
20 0012 FF93 push r31
21 /* prologue: Signal */
22 /* frame size = 0 */
23 /* stack size = 8 */
24 .L__stack_usage = 8
25 0014 8BB1 in r24,0xb
26 0016 9CB1 in r25,0xc
27 0018 8871 andi r24,lo8(24)
28 001a E091 0000 lds r30,UART_RxHead
29 001e EF5F subi r30,lo8(-(1))
30 0020 EF71 andi r30,lo8(31)
31 0022 2091 0000 lds r18,UART_RxTail
32 0026 E217 cp r30,r18
33 0028 01F0 breq .L3
34 002a E093 0000 sts UART_RxHead,r30
35 002e F0E0 ldi r31,0
36 0030 E050 subi r30,lo8(-(UART_RxBuf))
37 0032 F040 sbci r31,hi8(-(UART_RxBuf))
38 0034 9083 st Z,r25
39 0036 00C0 rjmp .L2
40 .L3:
41 0038 82E0 ldi r24,lo8(2)
42 .L2:
43 003a 9091 0000 lds r25,UART_LastRxError
44 003e 982B or r25,r24
45 0040 9093 0000 sts UART_LastRxError,r25
46 /* epilogue start */
47 0044 FF91 pop r31
48 0046 EF91 pop r30
49 0048 9F91 pop r25
50 004a 8F91 pop r24
51 004c 2F91 pop r18
52 004e 0F90 pop r0
53 0050 0FBE out __SREG__,r0
54 0052 0F90 pop r0
55 0054 1F90 pop r1
56 0056 1895 reti
58 .global __vector_12
60 __vector_12:
61 0058 1F92 push r1
62 005a 0F92 push r0
63 005c 0FB6 in r0,__SREG__
64 005e 0F92 push r0
65 0060 1124 clr __zero_reg__
66 0062 8F93 push r24
67 0064 9F93 push r25
68 0066 EF93 push r30
69 0068 FF93 push r31
70 /* prologue: Signal */
71 /* frame size = 0 */
72 /* stack size = 7 */
73 .L__stack_usage = 7
74 006a 9091 0000 lds r25,UART_TxHead
75 006e 8091 0000 lds r24,UART_TxTail
76 0072 9817 cp r25,r24
77 0074 01F0 breq .L5
78 0076 E091 0000 lds r30,UART_TxTail
79 007a EF5F subi r30,lo8(-(1))
80 007c EF71 andi r30,lo8(31)
81 007e E093 0000 sts UART_TxTail,r30
82 0082 F0E0 ldi r31,0
83 0084 E050 subi r30,lo8(-(UART_TxBuf))
84 0086 F040 sbci r31,hi8(-(UART_TxBuf))
85 0088 8081 ld r24,Z
86 008a 8CB9 out 0xc,r24
87 008c 00C0 rjmp .L4
88 .L5:
89 008e 5598 cbi 0xa,5
90 .L4:
91 /* epilogue start */
92 0090 FF91 pop r31
93 0092 EF91 pop r30
94 0094 9F91 pop r25
95 0096 8F91 pop r24
96 0098 0F90 pop r0
97 009a 0FBE out __SREG__,r0
98 009c 0F90 pop r0
99 009e 1F90 pop r1
100 00a0 1895 reti
102 .global uart_init
104 uart_init:
105 /* prologue: function */
106 /* frame size = 0 */
107 /* stack size = 0 */
108 .L__stack_usage = 0
109 00a2 1092 0000 sts UART_TxHead,__zero_reg__
110 00a6 1092 0000 sts UART_TxTail,__zero_reg__
111 00aa 1092 0000 sts UART_RxHead,__zero_reg__
112 00ae 1092 0000 sts UART_RxTail,__zero_reg__
113 00b2 97FF sbrs r25,7
114 00b4 00C0 rjmp .L8
115 00b6 22E0 ldi r18,lo8(2)
116 00b8 2BB9 out 0xb,r18
117 00ba 9F77 andi r25,127
118 .L8:
119 00bc 90BD out 0x20,r25
120 00be 89B9 out 0x9,r24
121 00c0 88E9 ldi r24,lo8(-104)
122 00c2 8AB9 out 0xa,r24
123 00c4 86E8 ldi r24,lo8(-122)
124 00c6 80BD out 0x20,r24
125 00c8 0895 ret
127 .global uart_getc
129 uart_getc:
130 /* prologue: function */
131 /* frame size = 0 */
132 /* stack size = 0 */
133 .L__stack_usage = 0
134 00ca 9091 0000 lds r25,UART_RxHead
135 00ce 8091 0000 lds r24,UART_RxTail
136 00d2 9817 cp r25,r24
137 00d4 01F0 breq .L11
138 00d6 E091 0000 lds r30,UART_RxTail
139 00da EF5F subi r30,lo8(-(1))
140 00dc EF71 andi r30,lo8(31)
141 00de E093 0000 sts UART_RxTail,r30
142 00e2 F0E0 ldi r31,0
143 00e4 E050 subi r30,lo8(-(UART_RxBuf))
144 00e6 F040 sbci r31,hi8(-(UART_RxBuf))
145 00e8 2081 ld r18,Z
146 00ea 8091 0000 lds r24,UART_LastRxError
147 00ee 1092 0000 sts UART_LastRxError,__zero_reg__
148 00f2 30E0 ldi r19,0
149 00f4 00C0 rjmp .L10
150 .L11:
151 00f6 20E0 ldi r18,0
152 00f8 31E0 ldi r19,lo8(1)
153 .L10:
154 00fa C901 movw r24,r18
155 00fc 0895 ret
157 .global uart_putc
159 uart_putc:
160 /* prologue: function */
161 /* frame size = 0 */
162 /* stack size = 0 */
163 .L__stack_usage = 0
164 00fe 9091 0000 lds r25,UART_TxHead
165 0102 9F5F subi r25,lo8(-(1))
166 0104 9F71 andi r25,lo8(31)
167 .L13:
168 0106 2091 0000 lds r18,UART_TxTail
169 010a 9217 cp r25,r18
170 010c 01F0 breq .L13
171 010e E92F mov r30,r25
172 0110 F0E0 ldi r31,0
173 0112 E050 subi r30,lo8(-(UART_TxBuf))
174 0114 F040 sbci r31,hi8(-(UART_TxBuf))
175 0116 8083 st Z,r24
176 0118 9093 0000 sts UART_TxHead,r25
177 011c 559A sbi 0xa,5
178 011e 0895 ret
180 .global uart_puts
182 uart_puts:
183 0120 CF93 push r28
184 0122 DF93 push r29
185 /* prologue: function */
186 /* frame size = 0 */
187 /* stack size = 2 */
188 .L__stack_usage = 2
189 0124 EC01 movw r28,r24
190 0126 00C0 rjmp .L16
191 .L17:
192 0128 00D0 rcall uart_putc
193 .L16:
194 012a 8991 ld r24,Y+
195 012c 8111 cpse r24,__zero_reg__
196 012e 00C0 rjmp .L17
197 /* epilogue start */
198 0130 DF91 pop r29
199 0132 CF91 pop r28
200 0134 0895 ret
202 .global uart_puts_p
204 uart_puts_p:
205 0136 CF93 push r28
206 0138 DF93 push r29
207 /* prologue: function */
208 /* frame size = 0 */
209 /* stack size = 2 */
210 .L__stack_usage = 2
211 013a EC01 movw r28,r24
212 013c 00C0 rjmp .L19
213 .L20:
214 013e 00D0 rcall uart_putc
215 .L19:
216 0140 FE01 movw r30,r28
217 0142 2196 adiw r28,1
218 /* #APP */
219 ; 474 "src/uart.c" 1
220 0144 8491 lpm r24, Z
221
222 ; 0 "" 2
223 /* #NOAPP */
224 0146 8111 cpse r24,__zero_reg__
225 0148 00C0 rjmp .L20
226 /* epilogue start */
227 014a DF91 pop r29
228 014c CF91 pop r28
229 014e 0895 ret
231 .local UART_LastRxError
232 .comm UART_LastRxError,1,1
233 .local UART_RxTail
234 .comm UART_RxTail,1,1
235 .local UART_RxHead
236 .comm UART_RxHead,1,1
237 .local UART_TxTail
238 .comm UART_TxTail,1,1
239 .local UART_TxHead
240 .comm UART_TxHead,1,1
241 .local UART_RxBuf
242 .comm UART_RxBuf,32,1
243 .local UART_TxBuf
244 .comm UART_TxBuf,32,1
245 .ident "GCC: (GNU) 4.7.2"
246 .global __do_clear_bss
DEFINED SYMBOLS
*ABS*:0000000000000000 uart.c
/tmp/ccbMxLMX.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccbMxLMX.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccbMxLMX.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccbMxLMX.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccbMxLMX.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccbMxLMX.s:10 .text:0000000000000000 __vector_11
/tmp/ccbMxLMX.s:234 .bss:0000000000000002 UART_RxHead
/tmp/ccbMxLMX.s:232 .bss:0000000000000001 UART_RxTail
/tmp/ccbMxLMX.s:240 .bss:0000000000000005 UART_RxBuf
.bss:0000000000000000 UART_LastRxError
/tmp/ccbMxLMX.s:60 .text:0000000000000058 __vector_12
/tmp/ccbMxLMX.s:238 .bss:0000000000000004 UART_TxHead
/tmp/ccbMxLMX.s:236 .bss:0000000000000003 UART_TxTail
/tmp/ccbMxLMX.s:242 .bss:0000000000000025 UART_TxBuf
/tmp/ccbMxLMX.s:104 .text:00000000000000a2 uart_init
/tmp/ccbMxLMX.s:129 .text:00000000000000ca uart_getc
/tmp/ccbMxLMX.s:159 .text:00000000000000fe uart_putc
/tmp/ccbMxLMX.s:182 .text:0000000000000120 uart_puts
/tmp/ccbMxLMX.s:204 .text:0000000000000136 uart_puts_p
UNDEFINED SYMBOLS
__do_clear_bss

Binary file not shown.

View File

@ -0,0 +1,191 @@
1 .file "utils.c"
2 __SP_H__ = 0x3e
3 __SP_L__ = 0x3d
4 __SREG__ = 0x3f
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .text
8 .global wait
10 wait:
11 /* prologue: function */
12 /* frame size = 0 */
13 /* stack size = 0 */
14 .L__stack_usage = 0
15 0000 8111 cpse r24,__zero_reg__
16 0002 00C0 rjmp .L2
17 0004 84E6 ldi r24,lo8(100)
18 .L2:
19 0006 90E0 ldi r25,0
20 .L3:
21 0008 EFE1 ldi r30,lo8(19999)
22 000a FEE4 ldi r31,hi8(19999)
23 000c 3197 1: sbiw r30,1
24 000e 01F4 brne 1b
25 0010 00C0 rjmp .
26 0012 0000 nop
27 0014 9F5F subi r25,lo8(-(1))
28 0016 9813 cpse r25,r24
29 0018 00C0 rjmp .L3
30 /* epilogue start */
31 001a 0895 ret
33 .global uart_print_voltage
35 uart_print_voltage:
36 001c EF92 push r14
37 001e FF92 push r15
38 0020 0F93 push r16
39 0022 1F93 push r17
40 0024 CF93 push r28
41 0026 DF93 push r29
42 /* prologue: function */
43 /* frame size = 0 */
44 /* stack size = 6 */
45 .L__stack_usage = 6
46 0028 8C01 movw r16,r24
47 002a 60E1 ldi r22,lo8(16)
48 002c 77E2 ldi r23,lo8(39)
49 002e 00D0 rcall __udivmodhi4
50 0030 7C01 movw r14,r24
51 0032 862F mov r24,r22
52 0034 805D subi r24,lo8(-(48))
53 0036 00D0 rcall uart_putc
54 0038 C8EE ldi r28,lo8(-24)
55 003a D3E0 ldi r29,lo8(3)
56 003c C701 movw r24,r14
57 003e BE01 movw r22,r28
58 0040 00D0 rcall __udivmodhi4
59 0042 862F mov r24,r22
60 0044 805D subi r24,lo8(-(48))
61 0046 00D0 rcall uart_putc
62 0048 8EE2 ldi r24,lo8(46)
63 004a 00D0 rcall uart_putc
64 004c C801 movw r24,r16
65 004e BE01 movw r22,r28
66 0050 00D0 rcall __udivmodhi4
67 0052 64E6 ldi r22,lo8(100)
68 0054 70E0 ldi r23,0
69 0056 00D0 rcall __udivmodhi4
70 0058 862F mov r24,r22
71 005a 805D subi r24,lo8(-(48))
72 /* epilogue start */
73 005c DF91 pop r29
74 005e CF91 pop r28
75 0060 1F91 pop r17
76 0062 0F91 pop r16
77 0064 FF90 pop r15
78 0066 EF90 pop r14
79 0068 00C0 rjmp uart_putc
81 .global uart_print_uint8
83 uart_print_uint8:
84 006a 0F93 push r16
85 006c 1F93 push r17
86 006e CF93 push r28
87 0070 DF93 push r29
88 0072 1F92 push __zero_reg__
89 0074 CDB7 in r28,__SP_L__
90 0076 DEB7 in r29,__SP_H__
91 /* prologue: function */
92 /* frame size = 1 */
93 /* stack size = 5 */
94 .L__stack_usage = 5
95 0078 082F mov r16,r24
96 007a 64E6 ldi r22,lo8(100)
97 007c 00D0 rcall __udivmodqi4
98 007e 805D subi r24,lo8(-(48))
99 0080 9983 std Y+1,r25
100 0082 00D0 rcall uart_putc
101 0084 1AE0 ldi r17,lo8(10)
102 0086 9981 ldd r25,Y+1
103 0088 892F mov r24,r25
104 008a 612F mov r22,r17
105 008c 00D0 rcall __udivmodqi4
106 008e 805D subi r24,lo8(-(48))
107 0090 00D0 rcall uart_putc
108 0092 802F mov r24,r16
109 0094 612F mov r22,r17
110 0096 00D0 rcall __udivmodqi4
111 0098 892F mov r24,r25
112 009a 805D subi r24,lo8(-(48))
113 /* epilogue start */
114 009c 0F90 pop __tmp_reg__
115 009e DF91 pop r29
116 00a0 CF91 pop r28
117 00a2 1F91 pop r17
118 00a4 0F91 pop r16
119 00a6 00C0 rjmp uart_putc
121 .global uart_print_uint16
123 uart_print_uint16:
124 00a8 EF92 push r14
125 00aa FF92 push r15
126 00ac 0F93 push r16
127 00ae 1F93 push r17
128 00b0 CF93 push r28
129 00b2 DF93 push r29
130 /* prologue: function */
131 /* frame size = 0 */
132 /* stack size = 6 */
133 .L__stack_usage = 6
134 00b4 EC01 movw r28,r24
135 00b6 60E1 ldi r22,lo8(16)
136 00b8 77E2 ldi r23,lo8(39)
137 00ba 00D0 rcall __udivmodhi4
138 00bc 7C01 movw r14,r24
139 00be 862F mov r24,r22
140 00c0 805D subi r24,lo8(-(48))
141 00c2 00D0 rcall uart_putc
142 00c4 08EE ldi r16,lo8(-24)
143 00c6 13E0 ldi r17,lo8(3)
144 00c8 C701 movw r24,r14
145 00ca B801 movw r22,r16
146 00cc 00D0 rcall __udivmodhi4
147 00ce 862F mov r24,r22
148 00d0 805D subi r24,lo8(-(48))
149 00d2 00D0 rcall uart_putc
150 00d4 CE01 movw r24,r28
151 00d6 B801 movw r22,r16
152 00d8 00D0 rcall __udivmodhi4
153 00da 04E6 ldi r16,lo8(100)
154 00dc 10E0 ldi r17,0
155 00de B801 movw r22,r16
156 00e0 00D0 rcall __udivmodhi4
157 00e2 862F mov r24,r22
158 00e4 805D subi r24,lo8(-(48))
159 00e6 00D0 rcall uart_putc
160 00e8 CE01 movw r24,r28
161 00ea B801 movw r22,r16
162 00ec 00D0 rcall __udivmodhi4
163 00ee 0AE0 ldi r16,lo8(10)
164 00f0 10E0 ldi r17,0
165 00f2 B801 movw r22,r16
166 00f4 00D0 rcall __udivmodhi4
167 00f6 862F mov r24,r22
168 00f8 805D subi r24,lo8(-(48))
169 00fa 00D0 rcall uart_putc
170 00fc CE01 movw r24,r28
171 00fe B801 movw r22,r16
172 0100 00D0 rcall __udivmodhi4
173 0102 805D subi r24,lo8(-(48))
174 /* epilogue start */
175 0104 DF91 pop r29
176 0106 CF91 pop r28
177 0108 1F91 pop r17
178 010a 0F91 pop r16
179 010c FF90 pop r15
180 010e EF90 pop r14
181 0110 00C0 rjmp uart_putc
183 .ident "GCC: (GNU) 4.7.2"
DEFINED SYMBOLS
*ABS*:0000000000000000 utils.c
/tmp/ccrqDXwV.s:2 *ABS*:000000000000003e __SP_H__
/tmp/ccrqDXwV.s:3 *ABS*:000000000000003d __SP_L__
/tmp/ccrqDXwV.s:4 *ABS*:000000000000003f __SREG__
/tmp/ccrqDXwV.s:5 *ABS*:0000000000000000 __tmp_reg__
/tmp/ccrqDXwV.s:6 *ABS*:0000000000000001 __zero_reg__
/tmp/ccrqDXwV.s:10 .text:0000000000000000 wait
/tmp/ccrqDXwV.s:35 .text:000000000000001c uart_print_voltage
/tmp/ccrqDXwV.s:83 .text:000000000000006a uart_print_uint8
/tmp/ccrqDXwV.s:123 .text:00000000000000a8 uart_print_uint16
UNDEFINED SYMBOLS
__udivmodhi4
uart_putc
__udivmodqi4

Binary file not shown.

BIN
my1016b2_280W_24V_KL.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB