/branches/v0.60_MicroMag3_Nick666/trunc/COPYING |
---|
0,0 → 1,674 |
GNU GENERAL PUBLIC LICENSE |
Version 3, 29 June 2007 |
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> |
Everyone is permitted to copy and distribute verbatim copies |
of this license document, but changing it is not allowed. |
Preamble |
The GNU General Public License is a free, copyleft license for |
software and other kinds of works. |
The licenses for most software and other practical works are designed |
to take away your freedom to share and change the works. By contrast, |
the GNU General Public License is intended to guarantee your freedom to |
share and change all versions of a program--to make sure it remains free |
software for all its users. We, the Free Software Foundation, use the |
GNU General Public License for most of our software; it applies also to |
any other work released this way by its authors. You can apply it to |
your programs, too. |
When we speak of free software, we are referring to freedom, not |
price. Our General Public Licenses are designed to make sure that you |
have the freedom to distribute copies of free software (and charge for |
them if you wish), that you receive source code or can get it if you |
want it, that you can change the software or use pieces of it in new |
free programs, and that you know you can do these things. |
To protect your rights, we need to prevent others from denying you |
these rights or asking you to surrender the rights. Therefore, you have |
certain responsibilities if you distribute copies of the software, or if |
you modify it: responsibilities to respect the freedom of others. |
For example, if you distribute copies of such a program, whether |
gratis or for a fee, you must pass on to the recipients the same |
freedoms that you received. You must make sure that they, too, receive |
or can get the source code. And you must show them these terms so they |
know their rights. |
Developers that use the GNU GPL protect your rights with two steps: |
(1) assert copyright on the software, and (2) offer you this License |
giving you legal permission to copy, distribute and/or modify it. |
For the developers' and authors' protection, the GPL clearly explains |
that there is no warranty for this free software. For both users' and |
authors' sake, the GPL requires that modified versions be marked as |
changed, so that their problems will not be attributed erroneously to |
authors of previous versions. |
Some devices are designed to deny users access to install or run |
modified versions of the software inside them, although the manufacturer |
can do so. This is fundamentally incompatible with the aim of |
protecting users' freedom to change the software. The systematic |
pattern of such abuse occurs in the area of products for individuals to |
use, which is precisely where it is most unacceptable. Therefore, we |
have designed this version of the GPL to prohibit the practice for those |
products. If such problems arise substantially in other domains, we |
stand ready to extend this provision to those domains in future versions |
of the GPL, as needed to protect the freedom of users. |
Finally, every program is threatened constantly by software patents. |
States should not allow patents to restrict development and use of |
software on general-purpose computers, but in those that do, we wish to |
avoid the special danger that patents applied to a free program could |
make it effectively proprietary. To prevent this, the GPL assures that |
patents cannot be used to render the program non-free. |
The precise terms and conditions for copying, distribution and |
modification follow. |
TERMS AND CONDITIONS |
0. Definitions. |
"This License" refers to version 3 of the GNU General Public License. |
"Copyright" also means copyright-like laws that apply to other kinds of |
works, such as semiconductor masks. |
"The Program" refers to any copyrightable work licensed under this |
License. Each licensee is addressed as "you". "Licensees" and |
"recipients" may be individuals or organizations. |
To "modify" a work means to copy from or adapt all or part of the work |
in a fashion requiring copyright permission, other than the making of an |
exact copy. The resulting work is called a "modified version" of the |
earlier work or a work "based on" the earlier work. |
A "covered work" means either the unmodified Program or a work based |
on the Program. |
To "propagate" a work means to do anything with it that, without |
permission, would make you directly or secondarily liable for |
infringement under applicable copyright law, except executing it on a |
computer or modifying a private copy. Propagation includes copying, |
distribution (with or without modification), making available to the |
public, and in some countries other activities as well. |
To "convey" a work means any kind of propagation that enables other |
parties to make or receive copies. Mere interaction with a user through |
a computer network, with no transfer of a copy, is not conveying. |
An interactive user interface displays "Appropriate Legal Notices" |
to the extent that it includes a convenient and prominently visible |
feature that (1) displays an appropriate copyright notice, and (2) |
tells the user that there is no warranty for the work (except to the |
extent that warranties are provided), that licensees may convey the |
work under this License, and how to view a copy of this License. If |
the interface presents a list of user commands or options, such as a |
menu, a prominent item in the list meets this criterion. |
1. Source Code. |
The "source code" for a work means the preferred form of the work |
for making modifications to it. "Object code" means any non-source |
form of a work. |
A "Standard Interface" means an interface that either is an official |
standard defined by a recognized standards body, or, in the case of |
interfaces specified for a particular programming language, one that |
is widely used among developers working in that language. |
The "System Libraries" of an executable work include anything, other |
than the work as a whole, that (a) is included in the normal form of |
packaging a Major Component, but which is not part of that Major |
Component, and (b) serves only to enable use of the work with that |
Major Component, or to implement a Standard Interface for which an |
implementation is available to the public in source code form. A |
"Major Component", in this context, means a major essential component |
(kernel, window system, and so on) of the specific operating system |
(if any) on which the executable work runs, or a compiler used to |
produce the work, or an object code interpreter used to run it. |
The "Corresponding Source" for a work in object code form means all |
the source code needed to generate, install, and (for an executable |
work) run the object code and to modify the work, including scripts to |
control those activities. However, it does not include the work's |
System Libraries, or general-purpose tools or generally available free |
programs which are used unmodified in performing those activities but |
which are not part of the work. For example, Corresponding Source |
includes interface definition files associated with source files for |
the work, and the source code for shared libraries and dynamically |
linked subprograms that the work is specifically designed to require, |
such as by intimate data communication or control flow between those |
subprograms and other parts of the work. |
The Corresponding Source need not include anything that users |
can regenerate automatically from other parts of the Corresponding |
Source. |
The Corresponding Source for a work in source code form is that |
same work. |
2. Basic Permissions. |
All rights granted under this License are granted for the term of |
copyright on the Program, and are irrevocable provided the stated |
conditions are met. This License explicitly affirms your unlimited |
permission to run the unmodified Program. The output from running a |
covered work is covered by this License only if the output, given its |
content, constitutes a covered work. This License acknowledges your |
rights of fair use or other equivalent, as provided by copyright law. |
You may make, run and propagate covered works that you do not |
convey, without conditions so long as your license otherwise remains |
in force. You may convey covered works to others for the sole purpose |
of having them make modifications exclusively for you, or provide you |
with facilities for running those works, provided that you comply with |
the terms of this License in conveying all material for which you do |
not control copyright. Those thus making or running the covered works |
for you must do so exclusively on your behalf, under your direction |
and control, on terms that prohibit them from making any copies of |
your copyrighted material outside their relationship with you. |
Conveying under any other circumstances is permitted solely under |
the conditions stated below. Sublicensing is not allowed; section 10 |
makes it unnecessary. |
3. Protecting Users' Legal Rights From Anti-Circumvention Law. |
No covered work shall be deemed part of an effective technological |
measure under any applicable law fulfilling obligations under article |
11 of the WIPO copyright treaty adopted on 20 December 1996, or |
similar laws prohibiting or restricting circumvention of such |
measures. |
When you convey a covered work, you waive any legal power to forbid |
circumvention of technological measures to the extent such circumvention |
is effected by exercising rights under this License with respect to |
the covered work, and you disclaim any intention to limit operation or |
modification of the work as a means of enforcing, against the work's |
users, your or third parties' legal rights to forbid circumvention of |
technological measures. |
4. Conveying Verbatim Copies. |
You may convey verbatim copies of the Program's source code as you |
receive it, in any medium, provided that you conspicuously and |
appropriately publish on each copy an appropriate copyright notice; |
keep intact all notices stating that this License and any |
non-permissive terms added in accord with section 7 apply to the code; |
keep intact all notices of the absence of any warranty; and give all |
recipients a copy of this License along with the Program. |
You may charge any price or no price for each copy that you convey, |
and you may offer support or warranty protection for a fee. |
5. Conveying Modified Source Versions. |
You may convey a work based on the Program, or the modifications to |
produce it from the Program, in the form of source code under the |
terms of section 4, provided that you also meet all of these conditions: |
a) The work must carry prominent notices stating that you modified |
it, and giving a relevant date. |
b) The work must carry prominent notices stating that it is |
released under this License and any conditions added under section |
7. This requirement modifies the requirement in section 4 to |
"keep intact all notices". |
c) You must license the entire work, as a whole, under this |
License to anyone who comes into possession of a copy. This |
License will therefore apply, along with any applicable section 7 |
additional terms, to the whole of the work, and all its parts, |
regardless of how they are packaged. This License gives no |
permission to license the work in any other way, but it does not |
invalidate such permission if you have separately received it. |
d) If the work has interactive user interfaces, each must display |
Appropriate Legal Notices; however, if the Program has interactive |
interfaces that do not display Appropriate Legal Notices, your |
work need not make them do so. |
A compilation of a covered work with other separate and independent |
works, which are not by their nature extensions of the covered work, |
and which are not combined with it such as to form a larger program, |
in or on a volume of a storage or distribution medium, is called an |
"aggregate" if the compilation and its resulting copyright are not |
used to limit the access or legal rights of the compilation's users |
beyond what the individual works permit. Inclusion of a covered work |
in an aggregate does not cause this License to apply to the other |
parts of the aggregate. |
6. Conveying Non-Source Forms. |
You may convey a covered work in object code form under the terms |
of sections 4 and 5, provided that you also convey the |
machine-readable Corresponding Source under the terms of this License, |
in one of these ways: |
a) Convey the object code in, or embodied in, a physical product |
(including a physical distribution medium), accompanied by the |
Corresponding Source fixed on a durable physical medium |
customarily used for software interchange. |
b) Convey the object code in, or embodied in, a physical product |
(including a physical distribution medium), accompanied by a |
written offer, valid for at least three years and valid for as |
long as you offer spare parts or customer support for that product |
model, to give anyone who possesses the object code either (1) a |
copy of the Corresponding Source for all the software in the |
product that is covered by this License, on a durable physical |
medium customarily used for software interchange, for a price no |
more than your reasonable cost of physically performing this |
conveying of source, or (2) access to copy the |
Corresponding Source from a network server at no charge. |
c) Convey individual copies of the object code with a copy of the |
written offer to provide the Corresponding Source. This |
alternative is allowed only occasionally and noncommercially, and |
only if you received the object code with such an offer, in accord |
with subsection 6b. |
d) Convey the object code by offering access from a designated |
place (gratis or for a charge), and offer equivalent access to the |
Corresponding Source in the same way through the same place at no |
further charge. You need not require recipients to copy the |
Corresponding Source along with the object code. If the place to |
copy the object code is a network server, the Corresponding Source |
may be on a different server (operated by you or a third party) |
that supports equivalent copying facilities, provided you maintain |
clear directions next to the object code saying where to find the |
Corresponding Source. Regardless of what server hosts the |
Corresponding Source, you remain obligated to ensure that it is |
available for as long as needed to satisfy these requirements. |
e) Convey the object code using peer-to-peer transmission, provided |
you inform other peers where the object code and Corresponding |
Source of the work are being offered to the general public at no |
charge under subsection 6d. |
A separable portion of the object code, whose source code is excluded |
from the Corresponding Source as a System Library, need not be |
included in conveying the object code work. |
A "User Product" is either (1) a "consumer product", which means any |
tangible personal property which is normally used for personal, family, |
or household purposes, or (2) anything designed or sold for incorporation |
into a dwelling. In determining whether a product is a consumer product, |
doubtful cases shall be resolved in favor of coverage. For a particular |
product received by a particular user, "normally used" refers to a |
typical or common use of that class of product, regardless of the status |
of the particular user or of the way in which the particular user |
actually uses, or expects or is expected to use, the product. A product |
is a consumer product regardless of whether the product has substantial |
commercial, industrial or non-consumer uses, unless such uses represent |
the only significant mode of use of the product. |
"Installation Information" for a User Product means any methods, |
procedures, authorization keys, or other information required to install |
and execute modified versions of a covered work in that User Product from |
a modified version of its Corresponding Source. The information must |
suffice to ensure that the continued functioning of the modified object |
code is in no case prevented or interfered with solely because |
modification has been made. |
If you convey an object code work under this section in, or with, or |
specifically for use in, a User Product, and the conveying occurs as |
part of a transaction in which the right of possession and use of the |
User Product is transferred to the recipient in perpetuity or for a |
fixed term (regardless of how the transaction is characterized), the |
Corresponding Source conveyed under this section must be accompanied |
by the Installation Information. But this requirement does not apply |
if neither you nor any third party retains the ability to install |
modified object code on the User Product (for example, the work has |
been installed in ROM). |
The requirement to provide Installation Information does not include a |
requirement to continue to provide support service, warranty, or updates |
for a work that has been modified or installed by the recipient, or for |
the User Product in which it has been modified or installed. Access to a |
network may be denied when the modification itself materially and |
adversely affects the operation of the network or violates the rules and |
protocols for communication across the network. |
Corresponding Source conveyed, and Installation Information provided, |
in accord with this section must be in a format that is publicly |
documented (and with an implementation available to the public in |
source code form), and must require no special password or key for |
unpacking, reading or copying. |
7. Additional Terms. |
"Additional permissions" are terms that supplement the terms of this |
License by making exceptions from one or more of its conditions. |
Additional permissions that are applicable to the entire Program shall |
be treated as though they were included in this License, to the extent |
that they are valid under applicable law. If additional permissions |
apply only to part of the Program, that part may be used separately |
under those permissions, but the entire Program remains governed by |
this License without regard to the additional permissions. |
When you convey a copy of a covered work, you may at your option |
remove any additional permissions from that copy, or from any part of |
it. (Additional permissions may be written to require their own |
removal in certain cases when you modify the work.) You may place |
additional permissions on material, added by you to a covered work, |
for which you have or can give appropriate copyright permission. |
Notwithstanding any other provision of this License, for material you |
add to a covered work, you may (if authorized by the copyright holders of |
that material) supplement the terms of this License with terms: |
a) Disclaiming warranty or limiting liability differently from the |
terms of sections 15 and 16 of this License; or |
b) Requiring preservation of specified reasonable legal notices or |
author attributions in that material or in the Appropriate Legal |
Notices displayed by works containing it; or |
c) Prohibiting misrepresentation of the origin of that material, or |
requiring that modified versions of such material be marked in |
reasonable ways as different from the original version; or |
d) Limiting the use for publicity purposes of names of licensors or |
authors of the material; or |
e) Declining to grant rights under trademark law for use of some |
trade names, trademarks, or service marks; or |
f) Requiring indemnification of licensors and authors of that |
material by anyone who conveys the material (or modified versions of |
it) with contractual assumptions of liability to the recipient, for |
any liability that these contractual assumptions directly impose on |
those licensors and authors. |
All other non-permissive additional terms are considered "further |
restrictions" within the meaning of section 10. If the Program as you |
received it, or any part of it, contains a notice stating that it is |
governed by this License along with a term that is a further |
restriction, you may remove that term. If a license document contains |
a further restriction but permits relicensing or conveying under this |
License, you may add to a covered work material governed by the terms |
of that license document, provided that the further restriction does |
not survive such relicensing or conveying. |
If you add terms to a covered work in accord with this section, you |
must place, in the relevant source files, a statement of the |
additional terms that apply to those files, or a notice indicating |
where to find the applicable terms. |
Additional terms, permissive or non-permissive, may be stated in the |
form of a separately written license, or stated as exceptions; |
the above requirements apply either way. |
8. Termination. |
You may not propagate or modify a covered work except as expressly |
provided under this License. Any attempt otherwise to propagate or |
modify it is void, and will automatically terminate your rights under |
this License (including any patent licenses granted under the third |
paragraph of section 11). |
However, if you cease all violation of this License, then your |
license from a particular copyright holder is reinstated (a) |
provisionally, unless and until the copyright holder explicitly and |
finally terminates your license, and (b) permanently, if the copyright |
holder fails to notify you of the violation by some reasonable means |
prior to 60 days after the cessation. |
Moreover, your license from a particular copyright holder is |
reinstated permanently if the copyright holder notifies you of the |
violation by some reasonable means, this is the first time you have |
received notice of violation of this License (for any work) from that |
copyright holder, and you cure the violation prior to 30 days after |
your receipt of the notice. |
Termination of your rights under this section does not terminate the |
licenses of parties who have received copies or rights from you under |
this License. If your rights have been terminated and not permanently |
reinstated, you do not qualify to receive new licenses for the same |
material under section 10. |
9. Acceptance Not Required for Having Copies. |
You are not required to accept this License in order to receive or |
run a copy of the Program. Ancillary propagation of a covered work |
occurring solely as a consequence of using peer-to-peer transmission |
to receive a copy likewise does not require acceptance. However, |
nothing other than this License grants you permission to propagate or |
modify any covered work. These actions infringe copyright if you do |
not accept this License. Therefore, by modifying or propagating a |
covered work, you indicate your acceptance of this License to do so. |
10. Automatic Licensing of Downstream Recipients. |
Each time you convey a covered work, the recipient automatically |
receives a license from the original licensors, to run, modify and |
propagate that work, subject to this License. You are not responsible |
for enforcing compliance by third parties with this License. |
An "entity transaction" is a transaction transferring control of an |
organization, or substantially all assets of one, or subdividing an |
organization, or merging organizations. If propagation of a covered |
work results from an entity transaction, each party to that |
transaction who receives a copy of the work also receives whatever |
licenses to the work the party's predecessor in interest had or could |
give under the previous paragraph, plus a right to possession of the |
Corresponding Source of the work from the predecessor in interest, if |
the predecessor has it or can get it with reasonable efforts. |
You may not impose any further restrictions on the exercise of the |
rights granted or affirmed under this License. For example, you may |
not impose a license fee, royalty, or other charge for exercise of |
rights granted under this License, and you may not initiate litigation |
(including a cross-claim or counterclaim in a lawsuit) alleging that |
any patent claim is infringed by making, using, selling, offering for |
sale, or importing the Program or any portion of it. |
11. Patents. |
A "contributor" is a copyright holder who authorizes use under this |
License of the Program or a work on which the Program is based. The |
work thus licensed is called the contributor's "contributor version". |
A contributor's "essential patent claims" are all patent claims |
owned or controlled by the contributor, whether already acquired or |
hereafter acquired, that would be infringed by some manner, permitted |
by this License, of making, using, or selling its contributor version, |
but do not include claims that would be infringed only as a |
consequence of further modification of the contributor version. For |
purposes of this definition, "control" includes the right to grant |
patent sublicenses in a manner consistent with the requirements of |
this License. |
Each contributor grants you a non-exclusive, worldwide, royalty-free |
patent license under the contributor's essential patent claims, to |
make, use, sell, offer for sale, import and otherwise run, modify and |
propagate the contents of its contributor version. |
In the following three paragraphs, a "patent license" is any express |
agreement or commitment, however denominated, not to enforce a patent |
(such as an express permission to practice a patent or covenant not to |
sue for patent infringement). To "grant" such a patent license to a |
party means to make such an agreement or commitment not to enforce a |
patent against the party. |
If you convey a covered work, knowingly relying on a patent license, |
and the Corresponding Source of the work is not available for anyone |
to copy, free of charge and under the terms of this License, through a |
publicly available network server or other readily accessible means, |
then you must either (1) cause the Corresponding Source to be so |
available, or (2) arrange to deprive yourself of the benefit of the |
patent license for this particular work, or (3) arrange, in a manner |
consistent with the requirements of this License, to extend the patent |
license to downstream recipients. "Knowingly relying" means you have |
actual knowledge that, but for the patent license, your conveying the |
covered work in a country, or your recipient's use of the covered work |
in a country, would infringe one or more identifiable patents in that |
country that you have reason to believe are valid. |
If, pursuant to or in connection with a single transaction or |
arrangement, you convey, or propagate by procuring conveyance of, a |
covered work, and grant a patent license to some of the parties |
receiving the covered work authorizing them to use, propagate, modify |
or convey a specific copy of the covered work, then the patent license |
you grant is automatically extended to all recipients of the covered |
work and works based on it. |
A patent license is "discriminatory" if it does not include within |
the scope of its coverage, prohibits the exercise of, or is |
conditioned on the non-exercise of one or more of the rights that are |
specifically granted under this License. You may not convey a covered |
work if you are a party to an arrangement with a third party that is |
in the business of distributing software, under which you make payment |
to the third party based on the extent of your activity of conveying |
the work, and under which the third party grants, to any of the |
parties who would receive the covered work from you, a discriminatory |
patent license (a) in connection with copies of the covered work |
conveyed by you (or copies made from those copies), or (b) primarily |
for and in connection with specific products or compilations that |
contain the covered work, unless you entered into that arrangement, |
or that patent license was granted, prior to 28 March 2007. |
Nothing in this License shall be construed as excluding or limiting |
any implied license or other defenses to infringement that may |
otherwise be available to you under applicable patent law. |
12. No Surrender of Others' Freedom. |
If conditions are imposed on you (whether by court order, agreement or |
otherwise) that contradict the conditions of this License, they do not |
excuse you from the conditions of this License. If you cannot convey a |
covered work so as to satisfy simultaneously your obligations under this |
License and any other pertinent obligations, then as a consequence you may |
not convey it at all. For example, if you agree to terms that obligate you |
to collect a royalty for further conveying from those to whom you convey |
the Program, the only way you could satisfy both those terms and this |
License would be to refrain entirely from conveying the Program. |
13. Use with the GNU Affero General Public License. |
Notwithstanding any other provision of this License, you have |
permission to link or combine any covered work with a work licensed |
under version 3 of the GNU Affero General Public License into a single |
combined work, and to convey the resulting work. The terms of this |
License will continue to apply to the part which is the covered work, |
but the special requirements of the GNU Affero General Public License, |
section 13, concerning interaction through a network will apply to the |
combination as such. |
14. Revised Versions of this License. |
The Free Software Foundation may publish revised and/or new versions of |
the GNU General Public License from time to time. Such new versions will |
be similar in spirit to the present version, but may differ in detail to |
address new problems or concerns. |
Each version is given a distinguishing version number. If the |
Program specifies that a certain numbered version of the GNU General |
Public License "or any later version" applies to it, you have the |
option of following the terms and conditions either of that numbered |
version or of any later version published by the Free Software |
Foundation. If the Program does not specify a version number of the |
GNU General Public License, you may choose any version ever published |
by the Free Software Foundation. |
If the Program specifies that a proxy can decide which future |
versions of the GNU General Public License can be used, that proxy's |
public statement of acceptance of a version permanently authorizes you |
to choose that version for the Program. |
Later license versions may give you additional or different |
permissions. However, no additional obligations are imposed on any |
author or copyright holder as a result of your choosing to follow a |
later version. |
15. Disclaimer of Warranty. |
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY |
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT |
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY |
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, |
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM |
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF |
ALL NECESSARY SERVICING, REPAIR OR CORRECTION. |
16. Limitation of Liability. |
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS |
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY |
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE |
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF |
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD |
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), |
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF |
SUCH DAMAGES. |
17. Interpretation of Sections 15 and 16. |
If the disclaimer of warranty and limitation of liability provided |
above cannot be given local legal effect according to their terms, |
reviewing courts shall apply local law that most closely approximates |
an absolute waiver of all civil liability in connection with the |
Program, unless a warranty or assumption of liability accompanies a |
copy of the Program in return for a fee. |
END OF TERMS AND CONDITIONS |
How to Apply These Terms to Your New Programs |
If you develop a new program, and you want it to be of the greatest |
possible use to the public, the best way to achieve this is to make it |
free software which everyone can redistribute and change under these terms. |
To do so, attach the following notices to the program. It is safest |
to attach them to the start of each source file to most effectively |
state the exclusion of warranty; and each file should have at least |
the "copyright" line and a pointer to where the full notice is found. |
<one line to give the program's name and a brief idea of what it does.> |
Copyright (C) <year> <name of author> |
This program is free software: you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation, either version 3 of the License, or |
(at your option) any later version. |
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. |
Also add information on how to contact you by electronic and paper mail. |
If the program does terminal interaction, make it output a short |
notice like this when it starts in an interactive mode: |
<program> Copyright (C) <year> <name of author> |
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
This is free software, and you are welcome to redistribute it |
under certain conditions; type `show c' for details. |
The hypothetical commands `show w' and `show c' should show the appropriate |
parts of the General Public License. Of course, your program's commands |
might be different; for a GUI interface, you would use an "about box". |
You should also get your employer (if you work as a programmer) or school, |
if any, to sign a "copyright disclaimer" for the program, if necessary. |
For more information on this, and how to apply and follow the GNU GPL, see |
<http://www.gnu.org/licenses/>. |
The GNU General Public License does not permit incorporating your program |
into proprietary programs. If your program is a subroutine library, you |
may consider it more useful to permit linking proprietary applications with |
the library. If this is what you want to do, use the GNU Lesser General |
Public License instead of this License. But first, please read |
<http://www.gnu.org/philosophy/why-not-lgpl.html>. |
/branches/v0.60_MicroMag3_Nick666/trunc/COPYING.LESSER |
---|
0,0 → 1,165 |
GNU LESSER GENERAL PUBLIC LICENSE |
Version 3, 29 June 2007 |
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> |
Everyone is permitted to copy and distribute verbatim copies |
of this license document, but changing it is not allowed. |
This version of the GNU Lesser General Public License incorporates |
the terms and conditions of version 3 of the GNU General Public |
License, supplemented by the additional permissions listed below. |
0. Additional Definitions. |
As used herein, "this License" refers to version 3 of the GNU Lesser |
General Public License, and the "GNU GPL" refers to version 3 of the GNU |
General Public License. |
"The Library" refers to a covered work governed by this License, |
other than an Application or a Combined Work as defined below. |
An "Application" is any work that makes use of an interface provided |
by the Library, but which is not otherwise based on the Library. |
Defining a subclass of a class defined by the Library is deemed a mode |
of using an interface provided by the Library. |
A "Combined Work" is a work produced by combining or linking an |
Application with the Library. The particular version of the Library |
with which the Combined Work was made is also called the "Linked |
Version". |
The "Minimal Corresponding Source" for a Combined Work means the |
Corresponding Source for the Combined Work, excluding any source code |
for portions of the Combined Work that, considered in isolation, are |
based on the Application, and not on the Linked Version. |
The "Corresponding Application Code" for a Combined Work means the |
object code and/or source code for the Application, including any data |
and utility programs needed for reproducing the Combined Work from the |
Application, but excluding the System Libraries of the Combined Work. |
1. Exception to Section 3 of the GNU GPL. |
You may convey a covered work under sections 3 and 4 of this License |
without being bound by section 3 of the GNU GPL. |
2. Conveying Modified Versions. |
If you modify a copy of the Library, and, in your modifications, a |
facility refers to a function or data to be supplied by an Application |
that uses the facility (other than as an argument passed when the |
facility is invoked), then you may convey a copy of the modified |
version: |
a) under this License, provided that you make a good faith effort to |
ensure that, in the event an Application does not supply the |
function or data, the facility still operates, and performs |
whatever part of its purpose remains meaningful, or |
b) under the GNU GPL, with none of the additional permissions of |
this License applicable to that copy. |
3. Object Code Incorporating Material from Library Header Files. |
The object code form of an Application may incorporate material from |
a header file that is part of the Library. You may convey such object |
code under terms of your choice, provided that, if the incorporated |
material is not limited to numerical parameters, data structure |
layouts and accessors, or small macros, inline functions and templates |
(ten or fewer lines in length), you do both of the following: |
a) Give prominent notice with each copy of the object code that the |
Library is used in it and that the Library and its use are |
covered by this License. |
b) Accompany the object code with a copy of the GNU GPL and this license |
document. |
4. Combined Works. |
You may convey a Combined Work under terms of your choice that, |
taken together, effectively do not restrict modification of the |
portions of the Library contained in the Combined Work and reverse |
engineering for debugging such modifications, if you also do each of |
the following: |
a) Give prominent notice with each copy of the Combined Work that |
the Library is used in it and that the Library and its use are |
covered by this License. |
b) Accompany the Combined Work with a copy of the GNU GPL and this license |
document. |
c) For a Combined Work that displays copyright notices during |
execution, include the copyright notice for the Library among |
these notices, as well as a reference directing the user to the |
copies of the GNU GPL and this license document. |
d) Do one of the following: |
0) Convey the Minimal Corresponding Source under the terms of this |
License, and the Corresponding Application Code in a form |
suitable for, and under terms that permit, the user to |
recombine or relink the Application with a modified version of |
the Linked Version to produce a modified Combined Work, in the |
manner specified by section 6 of the GNU GPL for conveying |
Corresponding Source. |
1) Use a suitable shared library mechanism for linking with the |
Library. A suitable mechanism is one that (a) uses at run time |
a copy of the Library already present on the user's computer |
system, and (b) will operate properly with a modified version |
of the Library that is interface-compatible with the Linked |
Version. |
e) Provide Installation Information, but only if you would otherwise |
be required to provide such information under section 6 of the |
GNU GPL, and only to the extent that such information is |
necessary to install and execute a modified version of the |
Combined Work produced by recombining or relinking the |
Application with a modified version of the Linked Version. (If |
you use option 4d0, the Installation Information must accompany |
the Minimal Corresponding Source and Corresponding Application |
Code. If you use option 4d1, you must provide the Installation |
Information in the manner specified by section 6 of the GNU GPL |
for conveying Corresponding Source.) |
5. Combined Libraries. |
You may place library facilities that are a work based on the |
Library side by side in a single library together with other library |
facilities that are not Applications and are not covered by this |
License, and convey such a combined library under terms of your |
choice, if you do both of the following: |
a) Accompany the combined library with a copy of the same work based |
on the Library, uncombined with any other library facilities, |
conveyed under the terms of this License. |
b) Give prominent notice with the combined library that part of it |
is a work based on the Library, and explaining where to find the |
accompanying uncombined form of the same work. |
6. Revised Versions of the GNU Lesser General Public License. |
The Free Software Foundation may publish revised and/or new versions |
of the GNU Lesser General Public License from time to time. Such new |
versions will be similar in spirit to the present version, but may |
differ in detail to address new problems or concerns. |
Each version is given a distinguishing version number. If the |
Library as you received it specifies that a certain numbered version |
of the GNU Lesser General Public License "or any later version" |
applies to it, you have the option of following the terms and |
conditions either of that published version or of any later version |
published by the Free Software Foundation. If the Library as you |
received it does not specify a version number of the GNU Lesser |
General Public License, you may choose any version of the GNU Lesser |
General Public License ever published by the Free Software Foundation. |
If the Library as you received it specifies that a proxy can decide |
whether future versions of the GNU Lesser General Public License shall |
apply, that proxy's public statement of acceptance of any version is |
permanent authorization for you to choose that version for the |
Library. |
/branches/v0.60_MicroMag3_Nick666/trunc/Flight-Ctrl_MEGA644_V0_60_MM3.eep |
---|
0,0 → 1,33 |
:1000000000000000000000000000000000000000F0 |
:1000100000000000000000000000000000000000E0 |
:1000200000000000000000000000000000000000D0 |
:1000300000000000000000000000000000000000C0 |
:1000400000000000000000000000000000000000B0 |
:1000500000000000000000000000000000000000A0 |
:100060000000000000000000000000000000000090 |
:100070000000000000000000000000000000000080 |
:100080000000000000000000000000000000000070 |
:100090000000000000000000000000000000000060 |
:1000A0000000000000000000000000000000000050 |
:1000B0000000000000000000000000000000000040 |
:1000C0000000000000000000000000000000000030 |
:1000D0000000000000000000000000000000000020 |
:1000E0000000000000000000000000000000000010 |
:1000F0000000000000000000000000000000000000 |
:1001000000000000000000000000000000000000EF |
:1001100000000000000000000000000000000000DF |
:1001200000000000000000000000000000000000CF |
:1001300000000000000000000000000000000000BF |
:1001400000000000000000000000000000000000AF |
:10015000000000000000000000000000000000009F |
:10016000000000000000000000000000000000008F |
:10017000000000000000000000000000000000007F |
:10018000000000000000000000000000000000006F |
:10019000000000000000000000000000000000005F |
:1001A000000000000000000000000000000000004F |
:1001B000000000000000000000000000000000003F |
:1001C000000000000000000000000000000000002F |
:1001D000000000000000000000000000000000001F |
:1001E000000000000000000000000000000000000F |
:1001F00000000000000000000000000000000000FF |
:00000001FF |
/branches/v0.60_MicroMag3_Nick666/trunc/Flight-Ctrl_MEGA644_V0_60_MM3.elf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/branches/v0.60_MicroMag3_Nick666/trunc/Flight-Ctrl_MEGA644_V0_60_MM3.hex |
---|
0,0 → 1,1517 |
:100000000C94DD030C94FA030C94FA030C94FA0399 |
:100010000C94FA030C94FA030C94FA030C94FA036C |
:100020000C94FA030C94FE0B0C94FA030C94FA0350 |
:100030000C94F6180C94FA030C94FA030C94FA033B |
:100040000C94FA030C94FA030C94A50C0C948614EB |
:100050000C9420060C94FA030C94EA050C94FA0311 |
:100060000C94740D0C94FA030C944F180C94FA032E |
:100070009708110911091109C908AA0811091109DC |
:100080001109F508F508F508F508F508CD08110976 |
:100090001109BC081109C5089D0DEF0D480EA30EEE |
:1000A000C00EE30E090FD70FF9102D118E11E411B8 |
:1000B0003212AB12051366138A13C013FC133A14E1 |
:1000C00068186D18891897189C18A718AF18C318C6 |
:1000D0000A0A0D004E65757472616C0048656164B2 |
:1000E000696E67486F6C64000A0D537465756572BC |
:1000F000756E673A20004F4B0A0D000A0D4162678A |
:100100006C65696368204C756674647275636B73A3 |
:10011000656E736F722E2E000A0D4B616C696272F0 |
:1001200069657265204E65757472616C6C61676596 |
:10013000000A0D4B616C69627269657265204B6FD4 |
:100140006D70617373000A0D42656E75747A652077 |
:10015000506172616D657465727361747A20256493 |
:10016000000A0D496E69742E20454550524F4D3A94 |
:100170002047656E657269657265204465666175C4 |
:100180006C742D506172616D657465722E2E2E0037 |
:100190000A0D3D3D3D3D3D3D3D3D3D3D3D3D3D3DF2 |
:1001A0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D7F |
:1001B000000A0D466C69676874436F6E74726F6CE9 |
:1001C000205625642E256420002E005A5F4F666657 |
:1001D0007365743A202025336900595F4F66667352 |
:1001E00065743A202025336900585F4F6666736551 |
:1001F000743A2020253369004D4D33206B616C69C2 |
:10020000622E0052616E67653A2533692D25336988 |
:10021000005374656C6C756E673A20253369005322 |
:100220006574706F696E74202025336900536572A0 |
:10023000766F202000506F7469343A20202533698E |
:1002400000506F7469333A202025336900506F7471 |
:1002500069323A202025336900506F7469313A20A1 |
:10026000202533690053746172743A2020202020C5 |
:10027000253569004D657373776572743A202025C2 |
:100280003569005269636874756E673A20202535B8 |
:1002900069004B6F6D706173732020202020202037 |
:1002A00000456D70662E506567656C3A25356900AE |
:1002B0005370616E6E756E673A202025356900486F |
:1002C0006F63682025346920282533692900526F1F |
:1002D0006C6C20253469202825336929004E696318 |
:1002E0006B202534692028253369290041434320A8 |
:1002F0002D2053656E736F72004769657220253437 |
:100300006920282533692900526F6C6C20253469D7 |
:10031000202825336929004E69636B202534692024 |
:100320002825336929004779726F202D2053656E87 |
:10033000736F720050333A25346920204B616EE4AC |
:100340006C65200050313A253469202050323A251E |
:100350003469200047733A253469202047693A25DB |
:10036000346920004E693A2534692020526F3A25BD |
:10037000346920004B373A25346920204B616EE404 |
:100380006C6520004B353A25346920204B363A25E0 |
:10039000346920004B333A25346920204B343A2508 |
:1003A000346920004B313A25346920204B323A25FC |
:1003B000346920004B6F6D706173733A20202025E3 |
:1003C000356900526F6C6C3A2020202020202535A2 |
:1003D00069004E69636B3A20202020202025356972 |
:1003E00000616B742E204C6167650048F668656E8D |
:1003F000726567656C756E67004B65696E65200098 |
:100400004F66662020202020203A20253569004CA8 |
:10041000756674647275636B3A2025356900536F95 |
:100420006C6C486F6568653A2025356900486F65D2 |
:1004300068653A202020202025356900286329207E |
:10044000486F6C67657220427573730053657474EE |
:10045000696E673A20256420005625642E256400C5 |
:100460002B2B204D696B726F4B6F70746572202B54 |
:100470002B005B25695D00000102030506070809E2 |
:100480000A0B0C0D0F101112131415161718191A48 |
:100490001B1B1C1D1E1F202121222324252526274E |
:1004A000272829292A2B2B2C2C2D2E2E2F2F30308C |
:1004B00031313232333334343435353636363737FA |
:1004C0003838383939393A3A3A3B3B3B3C3C3C3C8A |
:1004D0003D3D3D3D3E3E3E3E3F3F3F3F4040404034 |
:1004E00041414141414242424242434343434343EB |
:1004F00044444444444445454545454545464646AF |
:10050000464646464647474747474747474848487D |
:100510004848484848484949494949494949494951 |
:100520004A4A4A4A4A4A4A4A4A4A4A4A4B4B4B4B27 |
:100530004B4B4B4B4B4B4B4B4B4C4C4C4C4C4C4C04 |
:100540004C4C4C4C4C4C4C4C4D4D4D4D4D4D4D4DE3 |
:100550004D4D4D4D4D4D4D4D4D4E4E4E4E4E4E4EC4 |
:100560004E4E4E4E4E4E4E4E4E4E4E4E4E4F4F4FA8 |
:100570004F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F8B |
:100580004F4F4F4F4F0000000096438B3C295C0FAC |
:100590003DF4FD543D295C8F3D0E2DB23D3D0AD703 |
:1005A0003D23DBF93D04560E3E77BE1F3E0E2D3235 |
:1005B0003E8195433EF4FD543E6666663ED9CE7755 |
:1005C0003EA69B843EDF4F8D3E0681953E3F359E85 |
:1005D0003E79E9A63EA01AAF3EC74BB73E0000C029 |
:1005E0003E2731C83E4E62D03E7593D83E8941E0E9 |
:1005F0003EB072E83EC520F03EEC51F83E000000EF |
:100600003F0AD7033F14AE073F1F850B3FA01A0FC9 |
:100610003FAAF1123F2B87163FAC1C1A3F2DB21D8B |
:100620003F2506213FA69B243F9EEF273F96432B65 |
:100630003F8D972E3F85EB313FF4FD343F621038FC |
:100640003FD1223B3F3F353E3FAE47413F931844A9 |
:100650003F79E9463F5EBA493F448B4C3FA01A4F71 |
:100660003FFCA9513F5839543FB4C8563F871659EB |
:100670003F5A645B3F2DB25D3F0000603F4A0C6211 |
:100680003F9318643FDD24663F9EEF673FE7FB69B9 |
:100690003FA8C66B3FDF4F6D3FA01A6F3FD7A370D7 |
:1006A0003F0E2D723FBC74733F6ABC743F190476D1 |
:1006B0003FC74B773FEC51783F1058793F355E7A12 |
:1006C0003F5A647B3FF6287C3F91ED7C3FA4707DD0 |
:1006D0003F3F357E3F52B87E3FDBF97E3FEE7C7F69 |
:1006E0003F77BE7F3F77BE7F3F0000803F000080A6 |
:1006F0003F0000010101010202020303030304049D |
:100700000405050505060606070707070808080982 |
:100710000909090A0A0A0B0B0B0C0C0C0C0D0D0D28 |
:100720000E0E0E0E0F0F0F101010111111111212CC |
:10073000121313131414141415151516161617176F |
:1007400017181818191919191A1A1A1B1B1B1C1C0F |
:100750001C1D1D1D1E1E1E1F1F1F202020212121AC |
:100760002222222323232424252525262626272743 |
:100770002728282929292A2A2A2B2B2C2C2C2D2DD5 |
:100780002E2E2E2F2F30303131313232333334345C |
:10079000353536363737383839393A3A3B3B3C3CD1 |
:1007A0003D3E3E3F40404142424344444546474827 |
:1007B000494A4B4C4D4F5052545A11241FBECFEF53 |
:1007C000D0E1DEBFCDBF11E0A0E0B1E0EEE2FEE59A |
:1007D00002C005900D92AC38B107D9F715E0ACE82E |
:1007E000B1E001C01D92A433B107E1F70E943104CA |
:1007F0000C94162F0C940000A2E0B0E00E94F82E9A |
:10080000802D99270895FB01282F863008F025E0D8 |
:10081000842F9927429FD0011124AC59BF4F0197D3 |
:1008200024F001900E94052FFACFA2E0B0E0022E42 |
:100830000E94052F0895CF93DF93FB01C42FDD277E |
:10084000863008F085E0489FD0011124AC59BF4F95 |
:10085000219724F00E94F82E0192FACFDF91CF91D8 |
:1008600008950F931F93CF93DF9381E087B98FEFA4 |
:1008700088B98BE184B9289A8EE38AB9579A87EFB1 |
:100880008BB984B7877F84BF809160008861809333 |
:1008900060001092600088EE93E09093A70180932F |
:1008A000A6011092200210921F021092B50410921D |
:1008B000B40410921E0210921D0210921C0210929B |
:1008C0001B0228980E94360D0E94F0070E94E11832 |
:1008D0000E946E0D0E9435180E94E61678941092C0 |
:1008E000AC038CE38093AD0384E08093AE038CE390 |
:1008F00090E09F938F931F921F9281EB91E09F93C3 |
:100900008F931F920E94700980E991E09F938F93CB |
:100910001F920E947009299AA1E0B0E00E94F82E6F |
:10092000802D2DB73EB7265F3F4F2DBF8B33A9F1EA |
:1009300081E691E09F938F931F920E9470090E941D |
:10094000AC204AE36CED74E080E00E94030401E017 |
:100950000F900F900F90023049F40E943F204AE31D |
:100960006CED74E082E00E94030403E04AE36CED66 |
:1009700074E0802F0E9403040F5F063060F381E073 |
:1009800022E030E0D901082E0E94052F8BE3215090 |
:100990003040D901082E0E94052F02E010E0D80156 |
:1009A0000E94F82E802D4AE36CED74E00E941B0437 |
:1009B000D8010E94F82E802D99279F938F9386E46B |
:1009C00091E09F938F931F920E94700984EF91E0B2 |
:1009D0000E94E90BEC010F900F900F900F900F9079 |
:1009E000CE010E94F20B8823D9F3E091DE04FF27A9 |
:1009F000EE0FFF1FE055FB4F8081918185369105F9 |
:100A0000E4F0E091DF04FF27EE0FFF1FE055FB4FFE |
:100A1000808191818536910584F081E391E09F93F7 |
:100A20008F931F920E9470098091E4040F900F90A1 |
:100A30000F9083FF02C00E945D16E091DE04FF2745 |
:100A4000EE0FFF1FE055FB4F8081918185369105A8 |
:100A5000C4F0E091DF04FF27EE0FFF1FE055FB4FCE |
:100A6000808191818C599F4F64F488E191E09F933C |
:100A70008F931F920E9470090E9435220F900F9051 |
:100A80000F908091E40480FF20C08BEF90E09F9353 |
:100A90008F931F920E94700984EC99E00E94E90BE9 |
:100AA000EC010E9471100F900F900F90CE010E94E8 |
:100AB000F20B8823D9F386EF90E09F938F931F92D8 |
:100AC0000E9470090F900F900F900E946321289848 |
:100AD00080ED97E09093A7018093A60188EE93E0C4 |
:100AE0009093A7038093A60385E58093A10388EEE6 |
:100AF00090E09F938F931F920E9470098091E4046D |
:100B00000F900F900F9082FF03C08CED90E002C019 |
:100B100084ED90E09F938F931F920E9470090F9035 |
:100B20000F900F9080ED90E09F938F931F920E9403 |
:100B300070090E9498100F900F900F908091A5015E |
:100B4000882379F11092A5010E949A220E941C210B |
:100B5000289880910101882319F081508093010128 |
:100B600080911A02882329F080911A028150809383 |
:100B70001A0220910601309107018091F40499270F |
:100B80002817390734F480ED97E09093A7018093FC |
:100B9000A6018091D101882319F40E94351801C063 |
:100BA00028980E940B080E94790880E090E00E943B |
:100BB000F20B882319F280912102882329F088B151 |
:100BC00090E1892788B901C0449884EF91E00E94A0 |
:100BD000E90BB4CF1F920F920FB60F9211248F938F |
:100BE0009F93EF93FF93809100018823E1F480911C |
:100BF000A1019091A20101969093A2018093A1017D |
:100C0000FC01ED58FD4FE081ED3019F0863991057A |
:100C100039F41092A2011092A10181E080930001A9 |
:100C2000E093C60004C01092A2011092A101FF91AE |
:100C3000EF919F918F910F900FBE0F901F9018957D |
:100C40001F920F920FB60F9211242F933F934F9341 |
:100C50008F939F93AF93BF93CF93DF93EF93FF93C4 |
:100C60008091C6008093900140919C01463910F01C |
:100C700010929B01809190018D3009F05CC08091B1 |
:100C80009B01823009F057C010929B01A42FBB2713 |
:100C9000FD01EC54FC4F3081ED01CB54DC4F288139 |
:100CA00080919F019091A001831B9109821B910962 |
:100CB0009F709093A00180939F019C0196E03695D0 |
:100CC00027959A95E1F7235C20939E01982F9F73B7 |
:100CD000935C90939D018081281729F4888198174F |
:100CE00011F491E006C0809193018F5F809393018E |
:100CF00090E080919101882309F064C0992309F460 |
:100D000061C081E08093910140939401AA54BC4F4B |
:100D10008DE08C938091B803823509F053C088E14F |
:100D200090E02CE00FB6F894A895809360000FBE79 |
:100D30002093600047C080919B018130D9F08130C1 |
:100D400018F08230E9F530C080919001833239F497 |
:100D500080919101882319F481E080939B01809117 |
:100D600090018093B60381E080939C018091900173 |
:100D7000992715C082E080939B01E42FFF27809183 |
:100D80009001EA54FC4F80834F5F40939C01209177 |
:100D9000900180919F019091A001820F911D9093ED |
:100DA000A00180939F010EC0E42FFF278091900146 |
:100DB000EA54FC4F8083463938F310929B01E7CF09 |
:100DC00010929B01FF91EF91DF91CF91BF91AF9175 |
:100DD0009F918F914F913F912F910F900FBE0F9048 |
:100DE0001F901895DC0120E030E040E050E0E3E7A0 |
:100DF000F2E005C08191280F311D4F5F5F4F4A1708 |
:100E00005B07C1F73F70C90136E0969587953A9523 |
:100E1000E1F7835CFD01ED58FD4F808311962F7340 |
:100E2000235CFD01ED58FD4F2083AC58BD4F8DE094 |
:100E30008C9310920001809173028093C6000895F4 |
:100E4000EF92FF920F931F93CF93DF937A01722F4C |
:100E500093E290937302609374028093750203E0AF |
:100E600010E060E0A6E7B2E046C0F701E60FF11D32 |
:100E700090816F5F715019F4E0E040E00FC0F7011E |
:100E8000E60FF11D40816F5F715011F4E0E006C084 |
:100E9000F701E60FF11DE0816F5F7150892F869594 |
:100EA0008695835C8C935527892F99278370907042 |
:100EB00024E0880F991F2A95E1F79A0194E036956E |
:100EC00027959A95E1F7822B835CED0189834F701A |
:100ED0005070440F551F440F551F8E2F82958695D5 |
:100EE00086958370842B835C8A83EF73E35CEB834A |
:100EF0000C5F1F4F1496772309F0B7CFC8010E94EB |
:100F0000F206E6E0CDB7DEB70C94E32E1F93CF9345 |
:100F1000DF93EC0170E0A22FBB27129748C0E42FAB |
:100F2000FF27EA54FC4F30814F5FE42FFF27EA543C |
:100F3000FC4F50814F5FE42FFF27EA54FC4F108194 |
:100F40004F5FE42FFF27EA54FC4F20814F5F842F2F |
:100F50009927A817B90774F15D53FE01E70FF11D3A |
:100F60003D53330F330F852F82958F70382B30838D |
:100F7000613001F1912F9D537F5FFE01E70FF11D5D |
:100F800071505295507F892F86958695582B5083A6 |
:100F900063506F3F79F07E5FFE01E70FF11D929580 |
:100FA000990F990F907C2D53922B90837F5F66232E |
:100FB00009F0B5CFDF91CF911F9108951F93182F9E |
:100FC0008A3019F48DE00E94DE078091C00085FF11 |
:100FD000FCCF1093C60080E090E01F910895089523 |
:100FE000E1ECF0E088E18083A0ECB0E08C918260DD |
:100FF0008C938081806880838081806480838AE292 |
:101000008093C40088EC90E00E94E90B9093A003C9 |
:1010100080939F03089580910001882309F468C09C |
:1010200080918C01882371F080910001882351F018 |
:101030002BE041EA53E06091720287E40E942007AE |
:1010400010928C0180919F039091A0030E94F20B5B |
:10105000882321F480918E018823B1F080910001D2 |
:10106000882391F022E34CE454E06091720284E41E |
:101070000E94200710928E018AEF90E00E94E90BF7 |
:101080009093A00380939F0380918D018823F1F0BA |
:10109000809100018823D1F00E94A11010928D014F |
:1010A00080919A018F5F80939A01843011F410929D |
:1010B0009A0180919A0144E1849FA0011124485E25 |
:1010C0005E4F24E160E0805D0E94200780918F01E7 |
:1010D000882371F080910001882351F02AE04CEAC6 |
:1010E00053E06091720286E50E94200710928F0102 |
:1010F0000895A2E0B0E0EFE7F8E00C94CA2E8091EA |
:101100009101882309F48FC08FEF809301018091B2 |
:10111000B8039927AA27BB27FC01E356F040E43126 |
:10112000F10508F07EC0E85CFF4F0C94F22E209190 |
:10113000940143E06BE081EA93E00E94860780918E |
:10114000C8019091A303892B8093C80181E080930B |
:101150008E0167C02091940143E062E0CE010196C8 |
:101160000E9486078091C8019981892B8093C801CC |
:1011700081E080938D0155C02091940143E064E0AB |
:1011800086E991E00E9486074CC081E080938F0140 |
:1011900048C081E080938C0144C02091940143E0D9 |
:1011A00062E0CE0101960E94860789818F3F89F017 |
:1011B000863010F085E089834AE36CED74E0898124 |
:1011C0000E941B0489812AE34CED54E06091720275 |
:1011D00008C0109172020E94FC032AE34CED54E017 |
:1011E000612F855B0E9420071CC02091940143E081 |
:1011F0006AE38CED94E00E9486078091B8034AE38D |
:101200006CED74E08B560E9403048091B8038B56FA |
:10121000A2E0B0E0082E0E94052F0E94FC030E946D |
:10122000852210929101E3E0CE5F0C94E62E982F78 |
:1012300080917E04813069F48091C701E82FFF27F7 |
:10124000E85EFE4F90838F5F8093C70121E030E01E |
:1012500005C0892F0E94DE07282F3327C901089572 |
:101260001F93182F04C080E30E9417091150111614 |
:10127000D4F31F9108951F93182F04C080E20E9499 |
:10128000170911501116D4F31F9108950F931F934E |
:10129000CF93DF938C01EB0108C0F8010F5F1F4F64 |
:1012A000E4918E2F0E94170921972097B1F7DF91C3 |
:1012B000CF911F910F9108950F931F93CF93DF93B9 |
:1012C0008C01EB0106C0F80181918F010E94170982 |
:1012D00021972097C1F7DF91CF911F910F9108952A |
:1012E000A3E3B0E0E6E7F9E00C94BB2E29968FADBE |
:1012F000299780937E04CE01855B9F4F9D838C83CD |
:101300002B968EAD9FAD2B979FA78EA722243324BB |
:10131000210102C0130124010EA51FA502C00F5F09 |
:101320001F4FF801F490FF2019F0F5E2FF16B9F70E |
:10133000B8018EA59FA5681B790B11F00E94460984 |
:10134000FF2009F442C20F5F1F4F1FA70EA719828B |
:10135000AC81BD811BAA1AAA9FEF99ABEEA5FFA590 |
:10136000CF0101969FA78EA7B49095E7B91621F0FB |
:101370008B2D8062883789F4EBA9E0FF07C02D90A0 |
:101380003D904D905C901397149607C08D919C9161 |
:1013900011971C01442455241296F0E2BF1621F443 |
:1013A00089818823D9F685C083E2B81609F483C001 |
:1013B0009AE2B91621F0EDE2BE1669F408C0FD010B |
:1013C0001296E081EAABE7FFC9CFE195EAABFBA952 |
:1013D000F061FF7D72C08BE2B81609F46AC09EE22C |
:1013E000B916B1F52EA53FA52F5F3F4FEEA5FFA57E |
:1013F00084918A3221F0B82E20E030E01BC0FD013C |
:1014000012964081518157FF02C04FEF5FEF49AB09 |
:101410003FA72EA7A3CFC90103E0880F991F0A9504 |
:10142000E1F7220F331F280F391F2B0D311D2053D9 |
:101430003040B49031968B2D80538A3060F3FFA7F3 |
:10144000EEA7A90137FF02C04FEF5FEF49AB8DCF89 |
:10145000F0E3BF1631F48BA984FD80CF80628BABA3 |
:101460007DCF8B2D81538930E8F420E030E0C90135 |
:10147000F3E0880F991FFA95E1F7220F331F280F29 |
:10148000391F2B0D311D20533040EEA5FFA5CF0194 |
:1014900001969FA78EA7B4908B2D80538A3038F386 |
:1014A0002AAB63CF98E6B91651F4EBA9E460EBAB35 |
:1014B00055CFB98253CFFBA9F860FBAB4FCF8CE679 |
:1014C000B81621F49BA991609BAB48CFBD83AC8338 |
:1014D000E3E6BE1639F41296BD83AC8312978C9165 |
:1014E0008E8318C1F4E4BF1639F084E6B81639F0DB |
:1014F00099E6B91659F503C0EBA9E160EBABFBA97E |
:10150000F0FF08C01496BD83AC835E904E903E9071 |
:101510002E900AC01296BD83AC839E918E911C01C1 |
:10152000442437FC4094542C57FC03C08AE088AB19 |
:1015300092C05094409430942094211C311C411C42 |
:10154000511C8DE289839AE098AB85C0EFE4BE160A |
:1015500029F0FFE6BF1639F488E061C09BA99160CD |
:101560009BABE8E056C0F0E7BF1671F41296BD835E |
:10157000AC839E918E911C01442455248BA98064D8 |
:101580008BAB78E7B72E5EC0E3E7BE16D9F51296AF |
:10159000BD83AC83DE90CE90C114D10489F488E27F |
:1015A0008E838EE68F8385E788878CE689878A8796 |
:1015B00089E28B871C8666E0C62ED12CCC0EDD1E00 |
:1015C000F9A9F7FD13C04F2F552747FD509560E04F |
:1015D00070E0C6010E94C32C009711F419A90DC038 |
:1015E0008C1919A981174CF4182F07C0F601019026 |
:1015F0000020E9F731971E2F1C1919824201310191 |
:1016000040E094C085E5B81631F095E7B91649F485 |
:10161000EAE0E8AB1FC0FBA9F160FBAB8AE088AB56 |
:1016200019C098E5B91621F0E8E7BE1609F06EC0BA |
:10163000FBA9F3FD02C080E1F2CF21143104410483 |
:10164000510419F490E198AB05C0EBA9E064EBAB51 |
:10165000F0E1F8AB198289A987FD03C09BA99F7DA2 |
:101660009BAB211431044104510461F4E9A9EE2338 |
:1016700049F46624772443015EE2C52ED12CCC0EBA |
:10168000DD1E3EC04EE2C42ED12CCC0EDD1EF8A9CC |
:10169000EF2EFF2400271127C201B101A8019701F5 |
:1016A0000E947E2E6A3020F430E3A32EA60E08C0DE |
:1016B00027E5A22EA60E88E5B81611F49FEDA92203 |
:1016C000F601A2926F01C201B101A80197010E9427 |
:1016D0007E2E39014A012E143F044006510618F0AF |
:1016E00019012A01D9CFF8A9F83051F48BA983FF49 |
:1016F00007C090E3A91621F080E3F60182936F0101 |
:10170000CE018C19182F125D49A910C0BB2009F415 |
:101710005CC0BE8219824201310100E096E0C92E10 |
:10172000D12CCC0EDD1E11E021E005C0212F042FAD |
:10173000011B07FD00E08981882319F0812F8F5F4D |
:1017400007C09BA996FD02C0812F02C0822F8E5F29 |
:10175000A82EA00EEBA9EE2EFF2480E3482E512CDC |
:101760004E205F204114510421F48AA98A190E9455 |
:101770003B098981882329F061E070E0CE01019660 |
:1017800009C0E6FE09C080E38A83BB8262E070E0A4 |
:10179000CE0102960E945C09F0E24F16510421F43A |
:1017A0008AA98A190E943009802F0E943009612F6E |
:1017B000772767FD7095C6010E945C09E4FEAACDFB |
:1017C0008AA98A190E943B09A5CDE2E1CD5C0C945F |
:1017D000D72E2091A3013091A4012F5F3F4F820F9C |
:1017E000931F08952091A3013091A401821B930BB4 |
:1017F000892F992786958074992708951F920F92B3 |
:101800000FB60F921124EF92FF920F931F932F9315 |
:101810003F934F935F936F937F938F939F93AF9378 |
:10182000BF93CF93DF93EF93FF9380910401815097 |
:10183000809304018F3F09F06DC083E88093B0006E |
:1018400080918B01C82FDD27D093A901C093A801F7 |
:1018500080910205E090FE0480FF1EC06091DA01D5 |
:101860007091DB018091DC019091DD01FF24002764 |
:10187000112720E830E040E050E00E94A02EC8018F |
:10188000B7010E94382E20E032E040E050E00E9494 |
:10189000A02EC20FD31F1DC06091DA017091DB0131 |
:1018A0008091DC019091DD01FF240027112720E8C1 |
:1018B00030E040E050E00E94A02EC801B7010E9435 |
:1018C000382E20E032E040E050E00E94A02EC21B03 |
:1018D000D30BD093A901C093A8012091A801309106 |
:1018E000A9018091FF0499272817390734F08091C6 |
:1018F000000599278217930724F49093A9018093F8 |
:10190000A8018091A8018093B30080910105809384 |
:10191000040104C083E08093B0005F98FF91EF91D1 |
:10192000DF91CF91BF91AF919F918F917F916F91F7 |
:101930005F914F913F912F911F910F91FF90EF90E9 |
:101940000F900FBE0F901F9018951F920F920FB619 |
:101950000F9211242F933F934F935F936F937F9335 |
:101960008F939F93AF93BF93EF93FF938091AA01BF |
:1019700081508093AA018F3F01F589E08093AA01ED |
:10198000809105018F5F817080930501882319F490 |
:1019900081E08093A5018091A3019091A40101961B |
:1019A0009093A4018093A3018091D101882329F011 |
:1019B0008091D10181508093D1018091A6019091B5 |
:1019C000A701029748F08091A6019091A701019785 |
:1019D0009093A7018093A6015A988091E40483FF15 |
:1019E00034C00E9429168091020190910301019751 |
:1019F0009093030180930201809102019091030171 |
:101A00008F5F9F4F11F50E94361590930B028093C4 |
:101A10000A0280910A0290910B0220910C023091EF |
:101A20000D02821B930B845E9D4F68E671E00E945D |
:101A30006B2E845B904090930F0280930E0280E2A5 |
:101A400093E09093030180930201FF91EF91BF9186 |
:101A5000AF919F918F917F916F915F914F913F9146 |
:101A60002F910F900FBE0F901F9018958091A3019A |
:101A70009091A4010B969093AC018093AB0182E00E |
:101A800085BD83EA84BD17BC88E788BD83EC80935D |
:101A9000B00086E08093B100E0E7F0E080818260F2 |
:101AA0008083EEE6F0E08081816080838AE080932D |
:101AB000B3001092B20008952091A3013091A401C7 |
:101AC0002F5F3F4F280F391F8091A3019091A401F0 |
:101AD000A901481B590B57FFF7CF089510927C00BE |
:101AE0008FEE80937A0008951F920F920FB60F9297 |
:101AF0001124EF92FF920F931F932F933F934F93D5 |
:101B00005F936F937F938F939F93AF93BF93CF9385 |
:101B1000DF93EF93FF9310927A008091C3018F5F60 |
:101B20008093C3018150E82FFF27E830F10508F0CA |
:101B3000B6C2E45BFF4F0C94F22E2091D601309197 |
:101B4000D7018091780090917900281B390B809102 |
:101B5000B1019091B201820F931F9093B2018093D3 |
:101B6000B1018091BB018F5F8093BB018091FE0129 |
:101B70009091FF01A0910002B0910102442737FD2E |
:101B80004095542F820F931FA41FB51F8093FE0111 |
:101B90009093FF01A0930002B09301028091020292 |
:101BA00090910302A0910402B0910502820F931F4D |
:101BB000A41FB51F8093020290930302A093040216 |
:101BC000B093050281E08093C4018091C10190919E |
:101BD000C20101969093C2018093C10164C26091D9 |
:101BE0007800709179008091D4019091D501681BA3 |
:101BF000790B8091F6019091F701A091F801B091D5 |
:101C0000F9019B01442737FD4095542F820F931F04 |
:101C1000A41FB51F8093F6019093F701A093F801DC |
:101C2000B093F9018091FA019091FB01A091FC0120 |
:101C3000B091FD01820F931FA41FB51F8093FA017D |
:101C40009093FB01A093FC01B093FD01809178007B |
:101C5000909179000A9710F464E47DEF8091780008 |
:101C600090917900895E934010F06CEB72E0809166 |
:101C7000AF019091B001860F971F9093B0018093B0 |
:101C8000AF018091BA018F5F8093BA0182E058C0A2 |
:101C900060917800709179008091D2019091D30188 |
:101CA000681B790B8091EE019091EF01A091F001FA |
:101CB000B091F1019B01442737FD4095542F820FCD |
:101CC000931FA41FB51F8093EE019093EF01A09383 |
:101CD000F001B093F1018091F2019091F301A09194 |
:101CE000F401B091F501820F931FA41FB51F8093DB |
:101CF000F2019093F301A093F401B093F501809168 |
:101D00007800909179000A9710F464E47DEF809157 |
:101D1000780090917900895E934010F06CEB72E04E |
:101D20008091AD019091AE01860F971F9093AE0107 |
:101D30008093AD018091B9018F5F8093B90184E0F8 |
:101D40008093C401B0C14091060150910701809178 |
:101D50007800909179009A01220F331F240F351FCC |
:101D600063E070E00E94572E260F371F36952795A7 |
:101D700036952795309307012093060186E0E0CF42 |
:101D8000209178003091790080912305909124056D |
:101D9000821B930B9093800480937F048091B30106 |
:101DA0009091B40120917F0430918004820F931FA1 |
:101DB0009093B4018093B3018091BD018F5F8093B4 |
:101DC000BD0187E0BDCF809178009091790020918E |
:101DD000210530912205821B930B90938B048093F5 |
:101DE0008A048091B5019091B60120918A043091C6 |
:101DF0008B04820F931F9093B6018093B50180915D |
:101E0000BC018F5F8093BC0185E08093C40186E0B4 |
:101E1000CBC06091780070917900E0902505F0903A |
:101E200026050091270510912805882777FD8095C4 |
:101E3000982F0E94762DA80197010E94D02C0E9415 |
:101E4000592D7093B8016093B7012091B70130917B |
:101E5000B801E0917F04F091800480918A04909110 |
:101E60008B0497FF03C0909581959F4F64E070E0CD |
:101E70000E946B2EEB01CF01F7FF03C09095819577 |
:101E80009F4F64E070E00E946B2E260F371F2C0FCF |
:101E90003D1F3093B8012093B7018091B701909115 |
:101EA000B80102979CF020E030E048E454E4C80117 |
:101EB000B7010E94802D882354F52AE037ED43EACC |
:101EC0005CE3C801B7010E94D12C19C08091B70111 |
:101ED0009091B8018F5F9F4FD4F420E030E046E14D |
:101EE00054E4C801B7010E94832D181684F42AE037 |
:101EF00037ED43EA5CE3C801B7010E94D02C609340 |
:101F0000250570932605809327059093280581E089 |
:101F10008093BE0180917800909179009093820423 |
:101F200080938104209106023091070240910802BB |
:101F3000509109028091B7019091B801AA2797FDAD |
:101F4000A095BA2F280F391F4A1F5B1F2093060246 |
:101F5000309307024093080250930902E090060272 |
:101F6000F0900702009108021091090260910602A8 |
:101F700070910702809108029091090220E034E0FC |
:101F800040E050E00E94A02EE21AF30A040B150B69 |
:101F9000E0920602F09207020093080210930902F1 |
:101FA00083E08093C40187E08093C3017CC080916B |
:101FB0008F04909190042091780030917900820FE5 |
:101FC000931F9093900480938F04809187048F5F78 |
:101FD0008093870480918704853008F460C08091E5 |
:101FE00078009091790090930D0180930C011092EC |
:101FF0008704809183049091840420918F04309110 |
:102000009004821B930B2091220230912302821BA9 |
:10201000930B9093C0018093BF0160918F047091E6 |
:102020009004E0900801F090090100910A011091DC |
:102030000B01882777FD8095982FA8019701220F23 |
:10204000331F441F551F2E0D3F1D401F511F620F90 |
:10205000731F841F951F24E030E040E050E00E9491 |
:10206000A02E209308013093090140930A01509358 |
:102070000B01209183043091840480910801909198 |
:102080000901A0910A01B0910B01281B390B309373 |
:102090002302209322021092900410928F04109237 |
:1020A000C4011092C3018091C40180937C008FEE23 |
:1020B00080937A00FF91EF91DF91CF91BF91AF9123 |
:1020C0009F918F917F916F915F914F913F912F9150 |
:1020D0001F910F91FF90EF900F900FBE0F901F90E8 |
:1020E0001895CF93DF93C0E0D0E0C7BD82E390E0C6 |
:1020F0000E945C0D89EC91E09F938F931F920E9448 |
:10210000700980910C0190910D010F900F900F902C |
:102110008458934020F02196CA3FD10531F7C093EF |
:102120008C0488EC90E00E945C0DDF91CF910895C3 |
:10213000E8E1F1E080E2819391E0E836F907D9F730 |
:102140000895FF920F931F938091C801282F332782 |
:10215000C90181709070682F882391F08091C90126 |
:10216000882311F0815002C0809168018093C901D9 |
:10217000E8E1F1E080E2819391E0E836F907D9F7F0 |
:10218000A9014270507021FF0DC08091C9018F5F7D |
:102190008093C901E8E1F1E080E2819391E0E836C3 |
:1021A000F907D9F7662321F0452B11F01092C901E8 |
:1021B00081E18093C7018091C90199279F938F93F3 |
:1021C00082E794E09F938F9381E08F930E94700940 |
:1021D0008091C9010F900F900F900F900F90E82FF2 |
:1021E000FF27EC30F10508F086C3EC5AFF4F0C9442 |
:1021F000F22E1092C70180E694E09F938F9311E036 |
:102200001F930E94700984E18093C7018CE390E0E2 |
:102210009F938F931F921F9289E594E09F938F93D2 |
:102220001F930E94700988E28093C7010E94FC03FB |
:1022300099279F938F938CE494E09F938F931F93A0 |
:102240000E9470098CE38093C7018CE394E09F9314 |
:102250008F931F930E9470094AC38091E40480FF0A |
:1022600044C01092C70180912202909123029F9353 |
:102270008F938DE294E09F938F9311E01F930E94C0 |
:10228000700984E18093C701809124029091250216 |
:102290009F938F938EE194E09F938F931F930E945F |
:1022A000700988E28093C70180910C0190910D0123 |
:1022B0009F938F938FE094E09F938F931F930E943F |
:1022C00070098CE38093C70180918C0499279F93B8 |
:1022D0008F9380E094E09F938F931F930E947009E7 |
:1022E0008DB79EB744968DBF0BC384E18093C70121 |
:1022F00089EF93E09F938F9311E01F930E947009E1 |
:1023000088E28093C7018BEE93E09F938F931F9396 |
:102310000E9470098DB79EB70696E5CF1092C7014F |
:1023200081EE93E09F938F9311E01F930E947009B9 |
:1023300084E18093C7016091DA017091DB018091A3 |
:10234000DC019091DD0120E034E040E050E00E94AB |
:10235000A02E5F934F933F932F9382ED93E09F9333 |
:102360008F931F930E94700988E28093C701609148 |
:10237000E2017091E3018091E4019091E50120E098 |
:1023800034E040E050E00E94A02E5F934F933F93D3 |
:102390002F9383EC93E09F938F931F930E94700978 |
:1023A0008CE38093C70180910A0290910B029F9366 |
:1023B0008F9384EB93E09F938F931F930E947009F8 |
:1023C0008DB79EB746968FCF1092C7018091B40407 |
:1023D0009091B5042091B2043091B3049F938F93F0 |
:1023E0003F932F9384EA93E09F938F9311E01F9381 |
:1023F0000E94700984E18093C7018091B804909194 |
:10240000B9042091B6043091B7049F938F933F9302 |
:102410002F9384E993E09F938F931F930E947009F9 |
:1024200088E28093C7018091BC049091BD04209103 |
:10243000BA043091BB049F938F933F932F9384E80A |
:1024400093E09F938F931F930E9470098CE3809376 |
:10245000C7018091BE049091BF049F938F9384E73E |
:1024600093E070C01092C701E091DD04FF27EE0FEA |
:10247000FF1FE055FB4F20813181E091DC04FF27F5 |
:10248000EE0FFF1FE055FB4F808191813F932F930B |
:102490009F938F9384E693E09F938F9311E01F9314 |
:1024A0000E94700984E18093C701E091DF04FF2757 |
:1024B000EE0FFF1FE055FB4F20813181E091DE04DC |
:1024C000FF27EE0FFF1FE055FB4F808191813F9367 |
:1024D0002F939F938F9384E593E09F938F931F9304 |
:1024E0000E94700988E28093C701E091E104FF2710 |
:1024F000EE0FFF1FE055FB4F20813181E091E0049A |
:10250000FF27EE0FFF1FE055FB4F808191813F9326 |
:102510002F939F938F9384E493E09F938F931F93C4 |
:102520000E9470098CE38093C701E091E204FF27C9 |
:10253000EE0FFF1FE055FB4F808191819F938F939A |
:1025400084E393E09F938F931F930E9470098DB74C |
:102550009EB74A96C8CE1092C70186E293E09F9339 |
:102560008F9311E01F930E94700984E18093C7014B |
:102570002091D2013091D3018091AD019091AE01B3 |
:102580006091B9013F932F9377270E946B2E7F9321 |
:102590006F9387E193E09F938F931F930E9470093D |
:1025A00088E28093C7012091D4013091D5018091B8 |
:1025B000AF019091B0016091BA013F932F937727BB |
:1025C0000E946B2E7F936F9388E093E09F938F938D |
:1025D0001F930E9470098CE38093C7012091D6015C |
:1025E0003091D7018091B1019091B2016091BB010E |
:1025F0003F932F9377270E946B2E7F936F9389EFE2 |
:1026000092E09F938F931F935BC01092C7018CEE53 |
:1026100092E09F938F9381E0F82EFF920E947009C1 |
:1026200084E18093C7018091B5019091B6016091DA |
:10263000BC0120912105309122053F932F937727EC |
:102640000E946B2E7F936F938DED92E09F938F93FB |
:10265000FF920E94700988E28093C7018091B301C4 |
:102660009091B4016091BD01209123053091240522 |
:102670003F932F9377270E946B2E7F936F938EEC5F |
:1026800092E09F938F93FF920E9470098CE3809356 |
:10269000C701009181041091820460912505709119 |
:1026A000260580912705909128050E94592D7F933A |
:1026B0006F931F930F938FEB92E09F938F93FF92F3 |
:1026C0000E9470098DB79EB748960DCE84E1809325 |
:1026D000C70180910601909107019F938F9380EB32 |
:1026E00092E09F938F9311E01F930E94700988E2FC |
:1026F0008093C70180911A0299279F938F9381EA53 |
:1027000092E09F938F931F930E9470098DB79EB79D |
:102710000A96E9CD1092C70182E992E09F938F93C8 |
:1027200011E01F930E94700984E18093C70180919A |
:102730000E0290910F029F938F9383E892E09F93F4 |
:102740008F931F930E94700988E28093C701809144 |
:102750000A0290910B029F938F9384E792E09F93DC |
:102760008F931F930E9470098CE38093C70180911F |
:102770000C0290910D029F938F9385E692E0B2C078 |
:102780001092C70180911202909113029F938F9330 |
:1027900089E592E09F938F9311E01F930E94700947 |
:1027A00084E18093C70180911402909115029F9358 |
:1027B0008F938DE492E09F938F931F930E947009F3 |
:1027C00088E28093C70180911602909117029F932F |
:1027D0008F9381E492E09F938F931F930E947009DF |
:1027E0008CE38093C70180911802909119029F9306 |
:1027F0008F9385E392E06FCD1092C7018DE292E056 |
:102800009F938F9311E01F930E94700984E180933E |
:10281000C70180918B0199279F938F938FE192E05D |
:102820009F938F931F930E94700988E28093C70142 |
:102830008091A8019091A9019F938F9381E192E0EB |
:102840009F938F931F930E9470098CE38093C7011D |
:102850008091000599279F938F938091FF0499277A |
:102860009F938F9383E092E09F938F931F930E9497 |
:10287000700936CD1092C70188EF91E09F938F9336 |
:1028800011E01F930E94700984E18093C701809139 |
:102890009104992787FD90959F938F9389EE91E0FE |
:1028A0009F938F931F930E94700988E28093C701C2 |
:1028B00080919204992787FD90959F938F938AED3D |
:1028C00091E09F938F931F930E9470098CE38093F4 |
:1028D000C70180919304992787FD90959F938F93CB |
:1028E0008BEC91E09F938F931F930E9470098DB79B |
:1028F0009EB74296F8CC8150809368011092C9012E |
:102900001092C8011F910F91FF9008951F920F928E |
:102910000FB60F9211242F933F934F938F939F9352 |
:1029200080919404843021F0883009F095C025C04E |
:1029300080919704803149F48EB59927982F882784 |
:10294000909399048093980413C0803249F48EB513 |
:102950009927982F882790939D0480939C0408C002 |
:102960008EB59927982F88279093A1048093A0046F |
:102970001EBC88E0809394046FC0809197048031DE |
:1029800011F58EB5282F33278091980490919904E2 |
:10299000282B392B3093990420939804C9018D502A |
:1029A0009E4F875E934028F430939B0420939A04B3 |
:1029B00008C080919A0490919B049093990480930D |
:1029C000980480E245C0803211F58EB5282F332758 |
:1029D00080919C0490919D04282B392B30939D0469 |
:1029E00020939C04C9018D509E4F875E934028F42C |
:1029F00030939F0420939E0408C080919E04909180 |
:102A00009F0490939D0480939C0480E421C08EB524 |
:102A1000282F33278091A0049091A104282B392BD3 |
:102A20003093A1042093A004C9018D509E4F875E6E |
:102A3000934028F43093A3042093A20408C080910B |
:102A4000A2049091A3049093A1048093A00480E138 |
:102A500080939704109294049F918F914F913F918E |
:102A60002F910F900FBE0F901F901895A0E1B0E02E |
:102A7000ECE3F5E10C94BB2E6091DA017091DB017F |
:102A80008091DC019091DD012091F9043327E3E08E |
:102A9000220F331FEA95E1F7442737FD4095542F65 |
:102AA0000E94A02E79018A01F094E194F108F39438 |
:102AB000F092A504E092A4046091E2017091E30118 |
:102AC0008091E4019091E5012091FA04332753E0CD |
:102AD000220F331F5A95E1F7442737FD4095542FB5 |
:102AE0000E94A02E309521953F4F3093A70420934C |
:102AF000A604C7010E94B61769877A878B879C87CF |
:102B00008091A4049091A5040E941A185B016C01A5 |
:102B10008091A6049091A7040E94B6176D837E83CE |
:102B20008F8398878091A6049091A7040E941A1819 |
:102B300069837A838B839C8320919204332727FDBA |
:102B4000309560919C0470919D04621B730B8827E3 |
:102B500077FD8095982F0E94762D1B012C012091E6 |
:102B60009304332727FD30956091A0047091A10450 |
:102B7000621B730B882777FD8095982F0E94762D16 |
:102B80003B014C01A201910169817A818B819C8179 |
:102B90000E94F02D7B018C01A40193016D817E8147 |
:102BA0008F8198850E94F02D9B01AC01C801B7016F |
:102BB0000E94D12C0E94592D6D877E878F87988B1C |
:102BC00020919104332727FD3095609198047091EE |
:102BD0009904621B730B882777FD8095982F0E94BC |
:102BE000762D9B01AC01C601B5010E94F02D5B0161 |
:102BF0006C01A20191016D817E818F8198850E9477 |
:102C0000F02D7B018C01A401930169817A818B8174 |
:102C10009C810E94F02D9B01AC01C801B7010E946C |
:102C2000D02C29853A854B855C850E94F02D9B012F |
:102C3000AC01C601B5010E94D12C0E94592DDC01C6 |
:102C4000CB016D857E850E94FA16E2E1C05F0C948F |
:102C5000D72E80919404813041F0813018F0823079 |
:102C600059F51EC02A9A81E018C02A9880919704CD |
:102C7000803111F481E307C0803211F482E303C094 |
:102C8000803411F483E38EBD88E090E00E94E90B6C |
:102C9000909396048093950482E080939404089521 |
:102CA00080919504909196040E94F20B882321F064 |
:102CB0001EBC84E0809394040895A0E0B0E0E3E6B5 |
:102CC000F6E10C94BD2EEE24FF2400E010E0AA24CF |
:102CD000BB24CC24DD24662477248824992482E331 |
:102CE000482E55248091980490919904081719074B |
:102CF00014F48C0104C08E159F050CF47C018091A6 |
:102D00009C0490919D04C816D90614F46C0104C06B |
:102D10008A159B050CF45C018091A0049091A1049C |
:102D20008816990614F44C0104C0861597050CF416 |
:102D30003C01552041F482E390E09093A7018093F9 |
:102D4000A601B2E35B2E8AE090E00E94E90BEC0161 |
:102D5000CE010E94F20B8823D9F3E091DE04FF2715 |
:102D6000EE0FFF1FE055FB4F808191818436910566 |
:102D70000CF44A94442011F05A94B4CFE1E9F4E001 |
:102D8000C8018E0D9F1D62E070E00E946B2E609363 |
:102D90009104C6018A0D9B1D62E070E00E946B2EBB |
:102DA00060939204C401860D971D62E070E00E945A |
:102DB0006B2E6093930483E0A5EFB1E0182E0E9480 |
:102DC000112FE0E1CDB7DEB70C94D92E83ED8CBD89 |
:102DD00084B1846A84B95B9880E1809397041092EF |
:102DE000940483E0E1E9F4E0A5EFB1E0182E0E943D |
:102DF000002F0895A0E0B0E0E0E0F7E10C94C42ECD |
:102E0000EC016B01892B29F4672B19F480E090E029 |
:102E10009EC0D7FC03C091E0B92E02C08FEFB82E40 |
:102E2000209731F48AE52B2D2802C00111248FC090 |
:102E3000B601882777FD8095982F0E94762D7B011B |
:102E40008C01BE01882777FD8095982F0E94762DF2 |
:102E50009B01AC01C801B7010E94132D20E030E0B6 |
:102E600048E452E40E94F02D0E94592DFB0177FFA7 |
:102E700003C0F095E195FF4F31E0EE30F30734F4F5 |
:102E8000E958FB4F8491682F772747C086E1E737E1 |
:102E9000F8071CF06AE570E040C027E0E637F2076B |
:102EA0001CF069E570E039C034E0EE37F3071CF040 |
:102EB00068E570E032C083E0E433F8071CF067E5B2 |
:102EC00070E02BC022E0E038F2071CF066E570E00D |
:102ED00024C032E0E830F3071CF065E570E01DC067 |
:102EE00081E0E83BF8071CF064E570E016C021E0E3 |
:102EF000EC37F2071CF063E570E00FC031E0EF340F |
:102F0000F3071CF062E570E008C0EB52F1401CF0E2 |
:102F100061E570E002C060E570E01C161D066CF40F |
:102F20008B2D992787FD90959C01629FC001639F1F |
:102F3000900D729F900D11240AC0D7FC05C084EB40 |
:102F400090E0861B970B03C0CB01845B9040E9E0C7 |
:102F5000CDB7DEB70C94E02EFC0125913491FC0135 |
:102F6000329645915491CA01B9010895A0E0B0E0AC |
:102F7000ECEBF7E10C94C52E9C0197FD04C061E0D9 |
:102F8000C62ED12C06C0309521953F4F5FEFC52E40 |
:102F9000D52EC9018B5590408A35910530F484EBCC |
:102FA00090E0821B930B9C010FC0C901855B904090 |
:102FB0008A35910518F4245B30400EC0C9018F504A |
:102FC00091408A35910518F0C1E0D0E007C088E64D |
:102FD00091E0821B930B9C01CFEFDFEF220F331F99 |
:102FE000220F331FC9018B579A4F0E94AC177B01E8 |
:102FF0008C01B601882777FD8095982F0E94762D49 |
:103000009B01AC01C801B7010E94F02D7B018C012E |
:10301000BE01882777FD8095982F0E94762D9B0111 |
:10302000AC01C801B7010E94F02DE8E0CDB7DEB7D2 |
:103030000C94E12E2AE530E0281B390BC9010E94CF |
:10304000B6170895FC0197FD02C091E004C0F09509 |
:10305000E195FF4F9FEFEF50F94F8491989F802D9E |
:103060001124992787FD909508951092B9008AE25E |
:103070008093B800089585EA8093BC0080E090E0DA |
:10308000089584E98093BC0008951092B90080935C |
:10309000BB0085E88093BC0080E090E008951F921B |
:1030A0000F920FB60F9211248F939F93EF93FF937C |
:1030B0008091CA018F5F8093CA018150E82FFF275A |
:1030C000E830F10508F074C0E05AFF4F0C94F22E7E |
:1030D0008091CB01880F8E5A14C08091CB018F5FF5 |
:1030E0008093CB018150813009F444C0813038F0A5 |
:1030F000823009F442C0833009F05AC041C0809147 |
:1031000063021092B9008093BB0085E88093BC00F5 |
:103110004FC084E98093BC008091CB01843018F4C7 |
:103120001092CA0102C01092CB0185EAEFCF8091C4 |
:10313000CC01880F8D5AE5CF8091CC018130D1F040 |
:103140008130E8F28230C9F0833091F519C0809166 |
:10315000BB00E091CC01FF27E855FB4F80838091B5 |
:10316000CC01813039F0813050F2823031F083303F |
:10317000F9F406C080916402C4CF80916702C1CF88 |
:1031800080916902BECF8091CC019091BB00E82F65 |
:10319000FF27E855FB4F94838F5F8093CC018430E9 |
:1031A00010F01092CC0184E98093BC001092CA0107 |
:1031B000FF91EF919F918F910F900FBE0F901F90F5 |
:1031C000189583EC80938100EFE6F0E080818062C7 |
:1031D00080831092D7011092D6011092D5011092DF |
:1031E000D4011092D3011092D20108951F920F9230 |
:1031F0000FB60F9211240F931F932F933F934F936A |
:103200005F936F937F938F939F93AF93BF93CF936E |
:10321000DF93EF93FF932091860030918700809198 |
:10322000CF019091D001281B390B8091860090919D |
:1032300087009093D0018093CF01C9018D5D9540A7 |
:103240008356994148F481E090E09093CE018093B9 |
:10325000CD011092690154C0C091CD01D091CE0131 |
:10326000CA30D1050CF04CC0C9018B5F9040845B23 |
:10327000914008F040C0A901425D5140FE01EE0FAF |
:10328000FF1FE055FB4F80819181FA01E81BF90B8C |
:10329000CF01F7FF03C0909581959F4F06974CF49F |
:1032A00080911A02883C28F480911A02865F8093EC |
:1032B0001A02FE01EE0FFF1F8F0100551B4FD801B0 |
:1032C0002D913C91C901880F991F820F931F840F84 |
:1032D000951F64E070E00E946B2ED8018D919C9147 |
:1032E00011979B01281B390BEA53FB4F3183208335 |
:1032F00011967C936E932196D093CE01C093CD010D |
:10330000FF91EF91DF91CF91BF91AF919F918F91FD |
:103310007F916F915F914F913F912F911F910F91ED |
:103320000F900FBE0F901F901895AF92BF92CF9243 |
:10333000DF92EF92FF920F931F9310927A00809189 |
:10334000B901882369F08091AD019091AE0160913F |
:10335000B90177270E946B2E7093190560931805A9 |
:103360008091BA01882369F08091AF019091B001FA |
:103370006091BA0177270E946B2E709317056093B6 |
:1033800016058091BB01882369F08091B10190916D |
:10339000B2016091BB0177270E946B2E70932D05BF |
:1033A00060932C058091BC018823D9F1E090290518 |
:1033B000F0902A056091B5017091B6012091BC0191 |
:1033C0000027F7FC0095102F5701680143E0AA0C75 |
:1033D000BB1CCC1CDD1C4A95D1F7AE18BF08C00A37 |
:1033E000D10A882777FD8095982F34E0660F771FE4 |
:1033F000881F991F3A95D1F73327442755270E94F4 |
:10340000A02EA20EB31EC41ED51EC601B50128E013 |
:1034100030E040E050E00E94A02E30932A05209337 |
:1034200029058091BD018823D9F1E0903205F09003 |
:1034300033056091B3017091B4012091BD01002763 |
:10344000F7FC0095102F5701680183E0AA0CBB1C04 |
:10345000CC1CDD1C8A95D1F7AE18BF08C00AD10A72 |
:10346000882777FD8095982FB4E0660F771F881F17 |
:10347000991FBA95D1F73327442755270E94A02ECC |
:10348000A20EB31EC41ED51EC601B50128E030E051 |
:1034900040E050E00E94A02E309333052093320587 |
:1034A0008091BE018823A1F1E0901B05F0901C05DE |
:1034B0006091B7017091B8012091BE010027F7FC1F |
:1034C0000095102F57016801A3E0AA0CBB1CCC1C6F |
:1034D000DD1CAA95D1F7AE18BF08C00AD10A88270B |
:1034E00077FD8095982F3327442755270E94A02EDB |
:1034F000A20EB31EC41ED51EC601B50128E030E0E1 |
:1035000040E050E00E94A02E30931C0520931B0544 |
:103510001092AE011092AD011092B9011092B0015B |
:103520001092AF011092BA011092B2011092B10143 |
:103530001092BB011092B4011092B3011092BD0120 |
:103540001092B6011092B5011092BC011092B80110 |
:103550001092B7011092BE018091FE019091FF017F |
:10356000A0910002B09101028093EA019093EB01D7 |
:10357000A093EC01B093ED018091EE019091EF01E9 |
:10358000A091F001B091F1018093DA019093DB01F9 |
:10359000A093DC01B093DD018091F6019091F701D9 |
:1035A000A091F801B091F9018093E2019093E301B9 |
:1035B000A093E401B093E5018091F2019091F301B1 |
:1035C000A091F401B091F5018093DE019093DF01A9 |
:1035D000A093E001B093E1018091FA019091FB0189 |
:1035E000A091FC01B091FD018093E6019093E70169 |
:1035F000A093E801B093E9018FEE80937A00809167 |
:10360000180590911905893C91057CF020911805C9 |
:10361000309119058091180590911905880F991F0F |
:10362000880F991F2052334015C080911805909142 |
:10363000190588539F4FA4F420911805309119055E |
:103640008091180590911905880F991F880F991F6F |
:10365000205E3C4F820F931F9093190580931805AD |
:103660008091160590911705893C91057CF0209179 |
:103670001605309117058091160590911705880F52 |
:10368000991F880F991F2052334015C0809116054D |
:103690009091170588539F4FA4F4209116053091FF |
:1036A00017058091160590911705880F991F880FAF |
:1036B000991F205E3C4F820F931F909317058093B4 |
:1036C000160520911202309113028091E004E82F38 |
:1036D000FF27EE0FFF1FE055FB4F8081918182593C |
:1036E0009F4F281739071CF42F5F3F4F0CC0808174 |
:1036F000918182599F4F821793074CF42115310510 |
:1037000031F0215030403093130220931202209167 |
:103710001402309115028091E104E82FFF27EE0F8B |
:10372000FF1FE055FB4F8081918182599F4F2817E1 |
:1037300039071CF42F5F3F4F0CC080819181825963 |
:103740009F4F821793074CF42115310531F021501A |
:1037500030403093150220931402209116023091CC |
:1037600017028091E204E82FFF27EE0FFF1FE055BC |
:10377000FB4F8081918182599F4F281739071CF494 |
:103780002F5F3F4F0CC08081918182599F4F8217DC |
:1037900093074CF42115310531F02150304030931E |
:1037A000170220931602209118023091190280917D |
:1037B000E304E82FFF27EE0FFF1FE055FB4F80814A |
:1037C000918182599F4F281739071CF42F5F3F4F73 |
:1037D0000CC08081918182599F4F821793074CF4CE |
:1037E0002115310531F021503040309319022093DA |
:1037F0001802809112029091130297FF05C0109257 |
:103800001302109212020AC08F3F910539F034F072 |
:103810008FEF90E090931302809312028091140234 |
:103820009091150297FF05C0109215021092140294 |
:103830000AC08F3F910539F034F08FEF90E09093FC |
:10384000150280931402809116029091170297FF3F |
:1038500005C010921702109216020AC08F3F910500 |
:1038600039F034F08FEF90E09093170280931602B6 |
:10387000809118029091190297FF05C010921902C9 |
:10388000109218020AC08F3F910539F034F08FEF83 |
:1038900090E090931902809318021F910F91FF906E |
:1038A000EF90DF90CF90BF90AF90089510927A0084 |
:1038B0008091B901882369F08091AD019091AE01AA |
:1038C0006091B90177270E946B2E70931905609360 |
:1038D00018058091BA01882369F08091AF01909119 |
:1038E000B0016091BA0177270E946B2E7093170583 |
:1038F000609316058091BB01882369F08091B10126 |
:103900009091B2016091BB0177270E946B2E70935A |
:103910002D0560932C058091BC018823D1F0609126 |
:10392000B5017091B6012091BC01882777FD809583 |
:10393000982F34E0660F771F881F991F3A95D1F7AB |
:103940003327442755270E94A02E30932A05209321 |
:1039500029058091BD018823D1F06091B301709158 |
:10396000B4012091BD01882777FD8095982FB4E0A0 |
:10397000660F771F881F991FBA95D1F73327442701 |
:1039800055270E94A02E3093330520933205809155 |
:10399000BE01882399F06091B7017091B801209120 |
:1039A000BE01882777FD8095982F33274427552718 |
:1039B0000E94A02E30931C0520931B051092AE018F |
:1039C0001092AD011092B9011092B0011092AF01A6 |
:1039D0001092BA011092B2011092B1011092BB0183 |
:1039E0001092B4011092B3011092BD011092B60171 |
:1039F0001092B5011092BC011092B8011092B7015B |
:103A00001092BE018FEE80937A00209112023091C5 |
:103A100013028091E004E82FFF27EE0FFF1FE0550F |
:103A2000FB4F8081918182599F4F281739071CF4E1 |
:103A30002F5F3F4F0CC08081918182599F4F821729 |
:103A400093074CF42115310531F02150304030936B |
:103A500013022093120220911402309115028091DA |
:103A6000E104E82FFF27EE0FFF1FE055FB4F808199 |
:103A7000918182599F4F281739071CF42F5F3F4FC0 |
:103A80000CC08081918182599F4F821793074CF41B |
:103A90002115310531F0215030403093150220932B |
:103AA000140220911602309117028091E204E82F4F |
:103AB000FF27EE0FFF1FE055FB4F80819181825958 |
:103AC0009F4F281739071CF42F5F3F4F0CC0808190 |
:103AD000918182599F4F821793074CF4211531052C |
:103AE00031F021503040309317022093160220917C |
:103AF0001802309119028091E304E82FFF27EE0F9E |
:103B0000FF1FE055FB4F8081918182599F4F2817FD |
:103B100039071CF42F5F3F4F0CC08081918182597F |
:103B20009F4F821793074CF42115310531F0215036 |
:103B30003040309319022093180280911202909124 |
:103B4000130297FF05C010921302109212020AC0CE |
:103B50008F3F910539F034F08FEF90E0909313028E |
:103B600080931202809114029091150297FF05C074 |
:103B700010921502109214020AC08F3F910539F07D |
:103B800034F08FEF90E090931502809314028091AF |
:103B900016029091170297FF05C01092170210921B |
:103BA00016020AC08F3F910539F034F08FEF90E094 |
:103BB0009093170280931602809118029091190237 |
:103BC00097FF05C0109219021092180208958F3FB6 |
:103BD000910539F034F08FEF90E0909319028093C3 |
:103BE000180208951F938091E7048B3F98F08B3F54 |
:103BF00019F4809112020EC08C3F19F480911402C6 |
:103C000009C08D3F19F48091160204C08E3F21F443 |
:103C1000809118028093830180918301882319F495 |
:103C20001092830104C08F3F11F48093830180912F |
:103C3000E6048B3F98F08B3F19F4809112020EC07E |
:103C40008C3F19F48091140209C08D3F19F48091C2 |
:103C5000160204C08E3F21F48091180280938201E5 |
:103C600080918201882319F41092820105C0843664 |
:103C700018F084E6809382018091E8048B3F98F0ED |
:103C80008B3F19F4809112020EC08C3F19F4809181 |
:103C9000140209C08D3F19F48091160204C08E3FB2 |
:103CA00021F48091180280938401809184018823FB |
:103CB00019F41092840105C0843618F084E68093CC |
:103CC00084018091EA048B3F98F08B3F19F4809136 |
:103CD00012020EC08C3F19F48091140209C08D3F6E |
:103CE00019F48091160204C08E3F21F480911802CD |
:103CF0008093850180918501882319F410928501B4 |
:103D000004C08F3F11F4809385018091F1048B3FB3 |
:103D100098F08B3F19F4809112020EC08C3F19F479 |
:103D20008091140209C08D3F19F48091160204C0DD |
:103D30008E3F21F480911802809386018091860144 |
:103D4000882319F41092860104C08F3F11F48093E8 |
:103D500086018091F2048B3F98F08B3F19F480919B |
:103D600012020EC08C3F19F48091140209C08D3FDD |
:103D700019F48091160204C08E3F21F4809118023C |
:103D800080938701809187018B3010F48AE002C014 |
:103D90008F3F11F4809387018091F3048B3F98F05B |
:103DA0008B3F19F4809112020EC08C3F19F4809160 |
:103DB000140209C08D3F19F48091160204C08E3F91 |
:103DC00021F48091180280938801809188018823D2 |
:103DD00019F41092880104C08F3F11F48093880178 |
:103DE0008091F8048B3F98F08B3F19F48091120278 |
:103DF0000EC08C3F19F48091140209C08D3F19F454 |
:103E00008091160204C08E3F21F4809118028093A5 |
:103E10008A0180918A01882319F410928A0104C0D2 |
:103E20008F3F11F480938A018091F9048B3F98F0C1 |
:103E30008B3F19F4809112020EC08C3F19F48091CF |
:103E4000140209C08D3F19F48091160204C08E3F00 |
:103E500021F4809118028093260280912602882303 |
:103E600019F41092260204C08F3F11F480932602A9 |
:103E70008091FA048B3F98F08B3F19F480911202E5 |
:103E80000EC08C3F19F48091140209C08D3F19F4C3 |
:103E90008091160204C08E3F21F480911802809315 |
:103EA000270280912702882319F41092270204C068 |
:103EB0008F3F11F4809327028091FB048B3F98F091 |
:103EC0008B3F19F4809112020EC08C3F19F480913F |
:103ED000140209C08D3F19F48091160204C08E3F70 |
:103EE00021F480911802809328028091280288236F |
:103EF00019F41092280204C08F3F11F48093280215 |
:103F00008091FC048B3F98F08B3F19F48091120252 |
:103F10000EC08C3F19F48091140209C08D3F19F432 |
:103F20008091160204C08E3F21F480911802809384 |
:103F3000290280912902882319F41092290204C0D1 |
:103F40008F3F11F4809329029091FD049B3FB0F0C4 |
:103F50009B3F19F48091120204C09C3F29F4809188 |
:103F6000140280938B010CC09D3F19F480911602BE |
:103F7000F8CF9E3F29F480911802F3CF90938B01E4 |
:103F800080918B01882319F410928B0104C08F3F1C |
:103F900011F480938B019B3FB0F09B3F19F480910B |
:103FA000120204C09C3F29F48091140280938B017B |
:103FB0000CC09D3F19F480911602F8CF9E3F29F462 |
:103FC00080911802F3CF90938B0180918B0188230D |
:103FD00019F410928B0104C08F3F11F480938B0170 |
:103FE0009B3FB0F09B3F19F48091120204C09C3FAC |
:103FF00029F48091140280938B010CC09D3F19F429 |
:1040000080911602F8CF9E3F29F480911802F3CFD9 |
:1040100090938B0180918B01882319F410928B016E |
:1040200004C08F3F11F480938B0110918A01612F9E |
:10403000772767FD7095872F972F0E94762D17FFA2 |
:1040400006C020E030E040E853E40E94D12C27E194 |
:1040500037EB41ED58E30E94F02D60937E017093A1 |
:104060007F0180938001909381018091EF04809380 |
:104070002B058091EE0480931A051F91089581E02D |
:104080008093DC0442E04093DD0483E08093DE040F |
:1040900094E09093DF0435E03093E00486E0809371 |
:1040A000E10487E08093E2041092E4048EE18093BF |
:1040B000E5048BEF8093E7048AE08093E80422E331 |
:1040C0002093E6042093EA044093E9049093EB04E0 |
:1040D0001092EC0490E19093ED048FE08093EE0455 |
:1040E0008AEF8093EF048AE18093F0049093F104C7 |
:1040F0008FEA8093F2048093F3048AE58093F404BA |
:1041000083E28093F50484E18093F6041092F7042F |
:104110003093F80488E78093F9048093FA041092AE |
:10412000FB041092FC0484E68093FD0488E28093F3 |
:10413000FE04109202052093FF0486E98093000597 |
:1041400030930105AAE0B5E0EAE6F1E08CE00190E9 |
:104150000D928150E1F7089581E08093DC0452E0F4 |
:104160005093DD0483E08093DE0444E04093DF0459 |
:1041700035E03093E00486E08093E10487E08093AB |
:10418000E20428E02093E3041092E4049EE190937B |
:10419000E5048BEF8093E7048AE08093E80486E4EB |
:1041A0008093E6049093EA045093E9044093EB046F |
:1041B0002093EC0490E19093ED048FE08093EE0463 |
:1041C0008AEF8093EF048AE18093F0049093F104E6 |
:1041D00098E79093F20426E92093F3048AE580930C |
:1041E000F40483E28093F50484E18093F604109252 |
:1041F000F7043093F8049093F9049093FA04109222 |
:10420000FB041092FC0484E68093FD0488E2809312 |
:10421000FE041092020582E38093FF0420930005C0 |
:1042200030930105AAE0B5E0E2E7F1E08CE001900F |
:104230000D928150E1F7089580912102882301F5C4 |
:104240001092640210926302109267021092690247 |
:1042500080919601882311F08093630280919701E9 |
:10426000882311F08093640280919801882311F0D3 |
:104270008093690280919901882311F080936702ED |
:1042800080916302992790937704809376048091BC |
:10429000640299279093790480937804809169024D |
:1042A000992790937B0480937A04809167029927E1 |
:1042B00090937D0480937C041092CA011092CB01EC |
:1042C0000E943B180895CF93DF931092220510921D |
:1042D0002105109224051092230580E090E0A0E0D3 |
:1042E000B0E08093250590932605A0932705B09311 |
:1042F00028051092D3011092D2011092D50110928C |
:10430000D4011092D7011092D6010E94561C85E06C |
:1043100090E00E94E90BEC01CE010E94F20B882391 |
:10432000D9F30E94561C8091E40480FF10C0809154 |
:104330000C0190910D01875B934038F480910C0142 |
:1043400090910D018E5E924010F40E947110809148 |
:1043500018059091190597FF03C0909581959F4F7F |
:104360009093D3018093D201809116059091170507 |
:1043700097FF03C0909581959F4F9093D5018093AF |
:10438000D40180912C0590912D0597FF03C0909545 |
:1043900081959F4F9093D7018093D60188E0E1E209 |
:1043A000F5E0A8EFB1E0182E0E94002F1092EE0168 |
:1043B0001092EF011092F0011092F1011092F201AF |
:1043C0001092F3011092F4011092F5011092F6018F |
:1043D0001092F7011092F8011092F9011092FA016F |
:1043E0001092FB011092FC011092FD011092FE014F |
:1043F0001092FF0110920002109201021092190512 |
:1044000010921805109217051092160510922D059E |
:1044100010922C058091080190910901A0910A0148 |
:10442000B0910B0190938404809383041092C00197 |
:104430001092BF0110920602109207021092080219 |
:104440001092090280910A0290910B0290930D0242 |
:1044500080930C020E94992C82E390E09093A70134 |
:104460008093A601DF91CF910895CF93DF930E94AF |
:10447000561C85E090E00E94E90BEC01CE010E9401 |
:10448000F20B8823D9F30E94561C80912905909144 |
:104490002A05C1E2D5E097FF03C0909581959F4F13 |
:1044A00060E170E00E946B2E7093220560932105FD |
:1044B000809132059091330597FF03C090958195C7 |
:1044C0009F4F60E170E00E946B2E70932405609313 |
:1044D00023056091810470918204882777FD80957F |
:1044E000982F0E94762D6093250570932605809362 |
:1044F00027059093280588E0A8EFB1E0FE01182E6B |
:104500000E94112FDF91CF9108951F93182F0EC095 |
:1045100080912102882361F484E690E09093A701C2 |
:104520008093A6018AEF90E00E945C0D115080F705 |
:104530001F910895A8E0B0E0E0EAF2E20C94BB2EEF |
:104540000E949519299AE091DE04AE2FBB27AA0F8D |
:10455000BB1FA055BB4F0D90BC91A02D9D012858AD |
:104560003F4F3A83298337FF02C01A821982809114 |
:104570001A02843608F04AC080910101882331F480 |
:1045800084EF91E09093A7018093A601809133027C |
:1045900090913402009731F0019790933402809308 |
:1045A000330204C01092210210921002289A8091C6 |
:1045B0002E0290912F02815D974028F18091F504A1 |
:1045C000482F55275A83498381E080931002E09158 |
:1045D000DC04FF27EE0FFF1FE055FB4F1182108216 |
:1045E000E091DD04FF27EE0FFF1FE055FB4F118226 |
:1045F0001082E091DF04FF27EE0FFF1FE055FB4F15 |
:1046000011821082CEC110922102CBC180911A0278 |
:104610008D3808F4C6C1109210028091F60422E38E |
:10462000829FC001112490933402809333026981E8 |
:104630007A81693271056CF080912E0290912F027F |
:104640007FEF8F3F970781F1019690932F02809320 |
:104650002E0280912E0290912F02883C910520F02D |
:1046600089819A81889704F51092490210924A0232 |
:1046700010924B0210924C02109245021092460288 |
:1046800010924702109248021092FE011092FF0110 |
:104690001092000210920102109202021092030284 |
:1046A0001092040210920502E981FA81E93CF105B9 |
:1046B0000CF4D6C080912102882309F072C1E091E8 |
:1046C000DF04FF27EE0FFF1FE055FB4F8081918134 |
:1046D0008C3491050CF4C1C0809132028F5F8093BD |
:1046E0003202893C08F45DC129980E94632110922E |
:1046F00021021092320210922F0210922E0280910B |
:10470000DC04282F3327F901EE0FFF1FE055FB4F84 |
:1047100080819181873491059CF4E091DD04FF272D |
:10472000EE0FFF1FE055FB4F0190F081E02DF7FFEA |
:1047300003C0F095E195FF4FE734F1050CF46CC030 |
:104740008091DD04682F7727DB01AA0FBB1FA055DE |
:10475000BB4F8D919C911197873491053CF0F901E5 |
:10476000EE0FFF1FE055FB4F808191818D919C9151 |
:104770008734910564F0F901EE0FFF1FE055FB4F00 |
:10478000808191818734910514F042E001C041E0BD |
:10479000FB01EE0FFF1FE055FB4F808191818634B6 |
:1047A00091055CF4F901EE0FFF1FE055FB4F80818E |
:1047B0009181873491050CF043E0FB01EE0FFF1F60 |
:1047C000E055FB4F808191818A5B9F4F5CF4F9013A |
:1047D000EE0FFF1FE055FB4F8081918187349105DB |
:1047E0000CF044E0660F771F60557B4FFB01808122 |
:1047F00091818A5B9F4F5CF4220F331F20553B4F02 |
:10480000F90180819181863491050CF445E0A2E0A4 |
:10481000B0E0042E0E94052F0E94FC034AE36CEDD9 |
:1048200074E00E941B040E94FC030E948522809178 |
:10483000E40480FFB6C080910C0190910D01875B6C |
:10484000934040F480910C0190910D018E5E924056 |
:1048500008F0A7C00E947110A4C010923202A1C03B |
:1048600049815A81433251050CF09BC08091DF048D |
:10487000482F5527FA01EE0FFF1FE055FB4F8081AF |
:104880009181855B9F4F0CF06DC0809131028F5FED |
:1048900080933102893C08F467C088EC8093310230 |
:1048A00081E090E090932F0280932E0281E080932C |
:1048B0002102109241021092420210924302109281 |
:1048C00044021092FE011092FF0110920002109219 |
:1048D000010210920202109203021092040210923E |
:1048E00005021092EE011092EF011092F001109269 |
:1048F000F1011092F6011092F7011092F801109256 |
:10490000F9018091DA019091DB01A091DC01B09175 |
:10491000DD018093F2019093F301A093F401B09331 |
:10492000F5018091E2019091E301A091E401B09141 |
:10493000E5018093FA019093FB01A093FC01B093F1 |
:10494000FD011092490210924A0210924B021092FD |
:104950004C021092450210924602109247021092A9 |
:10496000480202C010923102440F551F40555B4F60 |
:10497000FA01808191818C3491058CF08091300214 |
:104980008F5F80933002893C60F01092210288ECA6 |
:104990008093300210922F0210922E0202C01092C9 |
:1049A0003002809169018150809369018091690191 |
:1049B0008F3F29F080911002882309F412C10E94D0 |
:1049C000F21DE091DC04FF27EE0FFF1FDF01A05571 |
:1049D000BB4F8D919C916091EB047727EA53FB4F7D |
:1049E000208131814091EC045527FC01E69FC001F4 |
:1049F000E79F900DF69F900D1124F901E49F90011F |
:104A0000E59F300DF49F300D1124820F931F90937A |
:104A10001C0280931B02E091DD04FF27EE0FFF1FB5 |
:104A2000DF01A055BB4F8D919C91EA53FB4F208134 |
:104A30003181FC01E69FC001E79F900DF69F900D2C |
:104A40001124B901649F9001659F300D749F300D52 |
:104A50001124820F931F90931E0280931D02E091F8 |
:104A6000DF04FF27EE0FFF1FE055FB4F8081918190 |
:104A7000909581959F4F9093200280931F021091F3 |
:104A80008701612F772767FD7095872F972F0E94E9 |
:104A9000762D17FF06C020E030E040E853E40E9486 |
:104AA000D12C20E030E040E251E40E94D12C20E003 |
:104AB00030E040E85BE30E94F02D3B014C01609345 |
:104AC0002E0570932F05809330059093310510913A |
:104AD0008801612F772767FD7095872F972F0E9498 |
:104AE000762D17FF06C020E030E040E853E40E9436 |
:104AF000D12C20E030EE4BE257E40E94132D60935E |
:104B00001D0570931E0580931F05909320058091CD |
:104B1000E40482FF0CC080E090E0A0E0B0E080936D |
:104B20001D0590931E05A0931F05B093200520E05E |
:104B300030E040E050E0C401B3010E94802D8823A2 |
:104B400064F480E090E0A0E0B0E080932E059093C4 |
:104B50002F05A0933005B093310520E030E040E010 |
:104B600050E060911D0570911E0580911F05909188 |
:104B700020050E94802D882364F480E090E0A0E06E |
:104B8000B0E080931D0590931E05A0931F05B09380 |
:104B9000200580911002882321F1109220021092AA |
:104BA0001F0210921C0210921B0210921E02109201 |
:104BB0001D028DEC9CECACECBDE380932E05909334 |
:104BC0002F05A0933005B09331058AE097EDA3EA55 |
:104BD000BBE380931D0590931E05A0931F05B09322 |
:104BE00020058091C1019091C2018D54914008F43B |
:104BF00090C02091DE013091DF014091E0015091A1 |
:104C0000E1018091DA019091DB01A091DC01B0918A |
:104C1000DD01B901681B790B70933802609337028C |
:104C20002091E6013091E7014091E8015091E901BE |
:104C30008091E2019091E301A091E401B091E5013E |
:104C4000281B390B30933602209335021092C20193 |
:104C50001092C101673A710534F08091D2019091B0 |
:104C6000D301019608C06A557F4F4CF48091D20160 |
:104C70009091D30101979093D3018093D201273A69 |
:104C8000310534F08091D4019091D501019608C08E |
:104C90002A553F4F4CF48091D4019091D501019752 |
:104CA0009093D5018093D40110927A008091DA011B |
:104CB0009091DB01A091DC01B091DD018093F201C4 |
:104CC0009093F301A093F401B093F5018091E20178 |
:104CD0009091E301A091E401B091E5018093FA0184 |
:104CE0009093FB01A093FC01B093FD018091EA0138 |
:104CF0009091EB01A091EC01B091ED018093020243 |
:104D000090930302A0930402B09305028FEE809368 |
:104D10007A006091DA017091DB018091DC01909161 |
:104D2000DD01A090F004BB24CC24DD24E090290513 |
:104D3000F0902A05A60195010E94A02E0027F7FCFD |
:104D40000095102F2E193F09400B510BCA01B901D4 |
:104D500020E130E040E050E00E94A02E39014A01FD |
:104D600020933D0230933E0240933F025093400215 |
:104D70006091E2017091E3018091E4019091E5017D |
:104D8000E0903205F0903305A60195010E94A02E17 |
:104D90000027F7FC0095102F2E193F09400B510BEF |
:104DA000CA01B90120E130E040E050E00E94A02EAD |
:104DB0002093390230933A0240933B0250933C02D5 |
:104DC000E5EF6E16E1E07E06E0E08E06E0E09E068E |
:104DD0002CF084EF91E0A0E0B0E00DC0FCE06F1695 |
:104DE000FEEF7F06FFEF8F06FFEF9F0664F48CE077 |
:104DF0009EEFAFEFBFEF80933D0290933E02A093F2 |
:104E00003F02B0934002253F61E0360760E046076D |
:104E100060E056072CF084EF91E0A0E0B0E009C01C |
:104E20002C503E4F4F4F5F4F64F48CE09EEFAFEF3E |
:104E3000BFEF8093390290933A02A0933B02B09364 |
:104E40003C0210927A008091EE019091EF01A091C6 |
:104E5000F001B091F10120913D0230913E0240916C |
:104E60003F0250914002821B930BA40BB50B809321 |
:104E7000EE019093EF01A093F001B093F1018091C6 |
:104E8000F6019091F701A091F801B091F9012091FC |
:104E9000390230913A0240913B0250913C02821B10 |
:104EA000930BA40BB50B8093F6019093F701A0939D |
:104EB000F801B093F90180911F02909120029C01AA |
:104EC000442737FD4095542F2B833C834D835E83CD |
:104ED0002093410230934202409343025093440294 |
:104EE00097FF03C0909581959F4F84973CF08091E8 |
:104EF000E40484FD03C081E080932A026090FE01F7 |
:104F00007090FF0180900002909001028B819C8143 |
:104F100097FF03C0909581959F4F7C010027F7FC78 |
:104F20000095102F2091ED043327442755276B81DE |
:104F30007C818D819E810E94382E9B01AC01C8012D |
:104F4000B7010E94382E20E031E040E050E00E949E |
:104F5000A02E442737FD4095542F621A730A840A05 |
:104F6000950A6092FE017092FF0180920002909279 |
:104F700001028091FE019091FF01A0910002B09189 |
:104F8000010281539547A040B04064F080E395E76B |
:104F9000A0E0B0E08093FE019093FF01A093000297 |
:104FA000B09301028091FE019091FF01A091000257 |
:104FB000B0910102805D9A48AF4FBF4F64F480ED1D |
:104FC0009AE8AFEFBFEF8093FE019093FF01A093AB |
:104FD0000002B0930102EFEEE0937A0080910A02A2 |
:104FE00090910B02892B09F441C08091E40483FF66 |
:104FF0003DC080912A02882351F080910A0290914D |
:105000000B0290930D0280930C0210922A021092D0 |
:105010007A000091FE011091FF0120910002309171 |
:10502000010240910E0250910F0280918601992752 |
:10503000BC01469FC001479F900D569F900D1124C3 |
:1050400060E270E00E946B2E882777FD8095982F94 |
:10505000061B170B280B390B0093FE011093FF0161 |
:105060002093000230930102E0937A0080915D0466 |
:105070008F5F80935D0480912B02815080932B027F |
:105080008F3F09F06BC081E380932B028091A404D1 |
:105090009091A50490935F0480935E048091A60490 |
:1050A0009091A704909361048093600480912905F6 |
:1050B00090912A0590936304809362048091320555 |
:1050C00090913305909365048093640480912C053E |
:1050D00090912D059093670480936604809122023D |
:1050E0009091230290936904809368046091060272 |
:1050F00070910702809108029091090220E032E04D |
:1051000040E050E00E94A02E30936B0420936A048C |
:1051100089819A8190936D0480936C0480910A0236 |
:1051200090910B0290936F0480936E048091980489 |
:1051300090919904909371048093700480919C04E1 |
:1051400090919D0490937304809372048091A004C5 |
:105150009091A10490937504809374046091DA0196 |
:105160007091DB018091DC019091DD0120901D05A3 |
:1051700030901E0540901F0550902005E0901805C6 |
:10518000F090190560902E0570902F0580903005E5 |
:10519000909031050E94762DA20191010E94F02D80 |
:1051A0005B016C010027F7FC0095102FC801B701C7 |
:1051B0000E94762DA40193010E94F02D9B01AC0169 |
:1051C000C601B5010E94D12C0E94592D709319057A |
:1051D000609318056091E2017091E3018091E40110 |
:1051E0009091E501E0901605F09017050E94762D4C |
:1051F000A20191010E94F02D5B016C010027F7FCD8 |
:105200000095102FC801B7010E94762DA4019301CB |
:105210000E94F02D9B01AC01C601B5010E94D12C6A |
:105220000E94592D709317056093160560912C0507 |
:1052300070912D05A090EA01B090EB01C090EC01B7 |
:10524000D090ED01882777FD8095982F0E94762DCC |
:105250007B018C0120E030E040E05FE3C401B3015A |
:105260000E94F02D9B01AC01C801B7010E94F02DF6 |
:105270007B018C01C601B5010E94762DA20191012E |
:105280000E94F02D9B01AC01C801B7010E94D12CF6 |
:105290000E94592D70932D0560932C05809118055F |
:1052A000909119058150984034F080E098E09093F7 |
:1052B0001905809318058091180590911905805063 |
:1052C000984F34F480E098EF909319058093180577 |
:1052D00080911605909117058150984034F080E038 |
:1052E00098E090931705809316058091160590918C |
:1052F00017058050984F34F480E098EF909317058D |
:105300008093160580912C0590912D058150984031 |
:1053100034F080E098E090932D0580932C058091E7 |
:105320002C0590912D058050984F34F480E098EF33 |
:1053300090932D0580932C058091E404992780FF9C |
:10534000CDC02091830181FF0EC02233B0F4809143 |
:105350002202909123024497909325028093240285 |
:10536000109211020DC08091E904289FC001112400 |
:105370004497909325028093240281E08093110248 |
:1053800080911002882321F01092250210922402AD |
:105390002091220230912302409124025091250253 |
:1053A000421753070CF09AC080911102882309F428 |
:1053B00095C0241B350B809184019927BC01269F41 |
:1053C000C001279F900D369F900D112460E170E081 |
:1053D0000E946B2E09811A81061B170B2091BF01B9 |
:1053E0003091C001809182019927FC012E9FC0015C |
:1053F0002F9F900D3E9F900D112468E070E00E9459 |
:105400006B2E061B170B60910602709107028091AC |
:1054100008029091090220E032E040E050E00E9452 |
:10542000A02ECA01B90120918501332744275527B1 |
:105430000E94382E20E230E040E050E00E94A02E92 |
:10544000FFEF2E3C3F0714F42EEC3FEF80912C022F |
:1054500090912D02AC0174E0440F551F7A95E1F74D |
:10546000481B590B2333310514F022E330E0021BB3 |
:10547000130BCA01800F911F60E170E00E946B2E38 |
:1054800070932D0260932C028091E5049927681790 |
:1054900079078CF429813A81281739072CF09093E9 |
:1054A0002D0280932C0207C049815A8150932D020E |
:1054B00040932C020DC080912C0290912D026981A5 |
:1054C0007A816817790724F470932D0260932C0277 |
:1054D00080912C0290912D029A83898380902C05D3 |
:1054E00090902D05EB81FC818E1A9F0AF5E68F16B0 |
:1054F000910424F064E6862E912C09C02CE98216D2 |
:105500002FEF920624F45CE9852E5FEF952E4090F4 |
:105510007A0150907B0160907C0170907D016091D8 |
:1055200018057091190520911B0230911C024091C1 |
:105530004D0250914E02241B350B621B730B8827C2 |
:1055400077FD8095982F0E94762D9B01AC01C301B9 |
:10555000B2010E94F02D0E94592D70936602609353 |
:10556000650280916502909166028C01222717FDE9 |
:105570002095322F8091490290914A02A0914B02CE |
:10558000B0914C02080F191F2A1F3B1F00934902BC |
:1055900010934A0220934B0230934C0210161106CE |
:1055A00012061306ACF4C80117FF03C0909581954D |
:1055B0009F4F60E071E00E946B2E6F5F7F4F8827E6 |
:1055C00077FD8095982F061B170B280B390B14C0FD |
:1055D000C80117FF03C0909581959F4F60E071E06F |
:1055E0000E946B2E6F5F7F4F882777FD8095982FE5 |
:1055F000060F171F281F391F0093490210934A02F4 |
:1056000020934B0230934C028091490290914A02C0 |
:10561000A0914B02B0914C0281383EE3930730E0F9 |
:10562000A30730E0B3072CF080E89EE3A0E0B0E0F1 |
:1056300009C08058914CAF4FBF4F64F480E891ECA3 |
:10564000AFEFBFEF8093490290934A02A0934B02C1 |
:10565000B0934C026091650270916602A0907E0149 |
:10566000B0907F01C0908001D0908101882777FDA4 |
:105670008095982F0E94762D7B018C0160914902C4 |
:1056800070914A0280914B0290914C020E94762DBB |
:105690009B01AC01C601B5010E94F02D9B01AC013C |
:1056A000C801B7010E94D12C0E94592D9401260FE8 |
:1056B000371F89819A81280F391F22240A9714F4F1 |
:1056C00041E0242E37FD02C0222019F040E050E0D6 |
:1056D00008C080912B05482F5527241735070CF457 |
:1056E000A90180911A05E82FFF27F887EF839F0112 |
:1056F000E417F5070CF49A012093630229813A819B |
:10570000261B370BB901680D791D77FD02C02220D9 |
:1057100019F080E090E007C080912B059927681769 |
:1057200079070CF4CB012F813885281739070CF441 |
:105730009C012093640260911605709117052091D9 |
:105740001D0230911E0240914F0250915002241BC5 |
:10575000350B621B730B882777FD8095982F0E946D |
:10576000762D9B01AC01C301B2010E94F02D0E9475 |
:10577000592D709362026093610280916102909151 |
:1057800062028C01222717FD2095322F809145025D |
:1057900090914602A0914702B0914802080F191F4C |
:1057A0002A1F3B1F00934502109346022093470295 |
:1057B000309348021016110612061306ACF4C80105 |
:1057C00017FF03C0909581959F4F60E071E00E94A4 |
:1057D0006B2E6F5F7F4F882777FD8095982F061B74 |
:1057E000170B280B390B14C0C80117FF03C0909585 |
:1057F00081959F4F60E071E00E946B2E6F5F7F4F3D |
:10580000882777FD8095982F060F171F281F391FAF |
:1058100000934502109346022093470230934802BA |
:105820008091450290914602A0914702B0914802B2 |
:1058300081383EE3930730E0A30730E0B3072CF054 |
:1058400080E89EE3A0E0B0E009C08058914CAF4FE3 |
:10585000BF4F64F480E891ECAFEFBFEF8093450257 |
:1058600090934602A0934702B09348026091610270 |
:1058700070916202882777FD8095982F0E94762D7F |
:105880007B018C0160914502709146028091470234 |
:10589000909148020E94762D9B01AC01C601B50192 |
:1058A0000E94F02D9B01AC01C801B7010E94D12CD0 |
:1058B0000E94592D29813A81260F371F281939094D |
:1058C00037FD02C0222019F040E050E008C080916E |
:1058D0002B05482F5527241735070CF4A9012F81D4 |
:1058E0003885241735070CF49A01209369028981C1 |
:1058F0009A81861B970BBC016819790977FD02C054 |
:10590000222019F020E030E008C080912B05282FDC |
:105910003327621773070CF49B018F8198858217D8 |
:1059200093070CF4C90180936702E2E1C85F0C940D |
:10593000D72E8091510290915202A0915302B091C2 |
:1059400054028093590290935A02A0935B02B09341 |
:105950005C028091550290915602A0915702B0913D |
:10596000580280935D0290935E02A0935F02B09311 |
:105970006002089510924E0210924D021092500251 |
:1059800010924F020895FC014150504030F00190B8 |
:105990000616D1F73197CF010895882799270895E2 |
:1059A0005058192EEFD001D0D2C0BA176207730732 |
:1059B00084079507B1F188F40EF410940B2EBA2FDA |
:1059C000A02D062E622F202D072E732F302D082E8E |
:1059D000842F402D092E952F502DFF275523B9F0E8 |
:1059E000591B49F0573E98F0469537952795A7954E |
:1059F000F0405395C9F776F0BA0F621F731F841FEA |
:105A000030F4879577956795B795F040939517FA99 |
:105A10000F2E0895BF1BBB27BA0B620B730B840BB1 |
:105A2000F6CFDEF6DBC0AED001D091C0552359F0E1 |
:105A3000992369F09F575F57951B33F442F49038D0 |
:105A400011F4915805C09BC091589F3F09F4C6C0FE |
:105A5000BB27112462177307840730F4660F771F82 |
:105A6000881FBB1F915098F311D00F920FD00F9247 |
:105A70000DD0A0E82617370748071B0609F0A048F5 |
:105A8000BA2F602D7F918F9100240895A0E8002403 |
:105A9000621773078407B10528F0621B730B840B30 |
:105AA000B1090A2A660F771F881FBB1FA69581F7C9 |
:105AB000089597FB73D09F3738F0FEE9F91B982FB4 |
:105AC000872F762F6B2F05C086C096958795779583 |
:105AD0006795F150D0F73EF490958095709561955B |
:105AE0007F4F8F4F9F4F0895E89403C097FB0EF4AC |
:105AF000F3DFB62F672F782F892F9EE9002427C068 |
:105B00000ED05EF004C00BD026F001C008D019F012 |
:105B100020F48FEF089580E0089581E0089597FBC9 |
:105B2000092E052600F8689430D0E89407FC07C0D9 |
:105B3000621773078407950721F008F4009407940F |
:105B4000989408959A95BB0F661F771F881F11249C |
:105B50009923A1F08823B2F79F3F59F0BB0F48F477 |
:105B600021F4002011F460FF04C06F5F7F4F8F4F5E |
:105B70009F4F881F9795879597F908952CC09FEFA1 |
:105B800080EC0895052E092607FA440F551F5F3F44 |
:105B900079F0AA27A51708F051E04795880F991FBB |
:105BA0009F3F31F0BB27B91708F091E08795089522 |
:105BB0009F919F911124E3CF97FB880F991F9F3FDF |
:105BC00031F0BB27B91708F091E0879508959F91B0 |
:105BD0009F911124D4CF6627772788279927089586 |
:105BE000D1DF01D0B4CF992339F0552329F09F5745 |
:105BF0005F57950F13F49AF1F1CF91589F3FE1F35E |
:105C0000629FA12D0F92BB27639FA00DB11DEE27B0 |
:105C1000729FA00DB11DEE1FAF93AA27649FB00D18 |
:105C2000E11D739FB00DE11DAA1F6627829FB00D75 |
:105C3000E11DA61F5527749FE00DA11D551F839FD1 |
:105C4000E00DA11D561F849FA00D511D852F7A2F99 |
:105C50006E2F1F900F9088231AF4939539F48FCFED |
:105C6000000C111CBB1F661F771F881F0128089599 |
:105C7000629FD001739FF001829FE00DF11D649F30 |
:105C8000E00DF11D929FF00D839FF00D749FF00DBC |
:105C9000659FF00D9927729FB00DE11DF91F639F5D |
:105CA000B00DE11DF91FBD01CF0111240895AA1BFC |
:105CB000BB1B51E107C0AA1FBB1FA617B70710F0F7 |
:105CC000A61BB70B881F991F5A95A9F78095909529 |
:105CD000BC01CD01089597FB092E07260AD077FD58 |
:105CE00004D0E5DF06D000201AF4709561957F4F4F |
:105CF0000895F6F7909581959F4F0895A1E21A2E89 |
:105D0000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F5F |
:105D1000A217B307E407F50720F0A21BB30BE40BAF |
:105D2000F50B661F771F881F991F1A9469F76095F6 |
:105D30007095809590959B01AC01BD01CF010895B0 |
:105D400097FB092E05260ED057FD04D0D7DF0AD0C9 |
:105D5000001C38F450954095309521953F4F4F4F9A |
:105D60005F4F0895F6F790958095709561957F4FF8 |
:105D70008F4F9F4F08952F923F924F925F926F9255 |
:105D80007F928F929F92AF92BF92CF92DF92EF92CB |
:105D9000FF920F931F93CF93DF93CDB7DEB7CA1B4C |
:105DA000DB0B0FB6F894DEBF0FBECDBF09942A8877 |
:105DB000398848885F846E847D848C849B84AA841F |
:105DC000B984C884DF80EE80FD800C811B81AA81AC |
:105DD000B981CE0FD11D0FB6F894DEBF0FBECDBF77 |
:105DE000ED010895EE0FFF1F0590F491E02D099449 |
:105DF000F999FECFB2BDA1BDF89A119600B40895ED |
:105E0000F7DF01921A94E1F70895F999FECFB2BD38 |
:105E1000A1BD00BC11960FB6F894FA9AF99A0FBE7C |
:0E5E200008950190F2DF1A94E1F70895FFCF84 |
:105E2E00016420030A016400007D0000FF030102EB |
:105E3E00030405060708090A48616C6C6F20576554 |
:105E4E006C74000000000000000000000000000064 |
:105E5E000000000000000000000000000000000034 |
:105E6E000000000000000000000000000000000024 |
:105E7E000000000000000000000000000000000014 |
:105E8E0000000000000000000B014B616D657261A7 |
:105E9E0000004E6F726D616C00000000803F17B7FE |
:0C5EAE00D13830FB103A403296020A64F2 |
:00000001FF |
/branches/v0.60_MicroMag3_Nick666/trunc/Flight-Ctrl_MEGA644_V0_60_MM3.lss |
---|
0,0 → 1,9317 |
Flight-Ctrl_MEGA644_V0_60_MM3.elf: file format elf32-avr |
Sections: |
Idx Name Size VMA LMA File off Algn |
0 .data 0000008c 00800100 00005e2e 00005ee2 2**0 |
CONTENTS, ALLOC, LOAD, DATA |
1 .text 00005e2e 00000000 00000000 000000b4 2**1 |
CONTENTS, ALLOC, LOAD, READONLY, CODE |
2 .bss 000003a8 0080018c 0080018c 00005f6e 2**0 |
ALLOC |
3 .eeprom 00000200 00810000 00810000 00005f6e 2**0 |
CONTENTS, ALLOC, LOAD, DATA |
4 .stab 00000378 00000000 00000000 00006170 2**2 |
CONTENTS, READONLY, DEBUGGING |
5 .stabstr 00000071 00000000 00000000 000064e8 2**0 |
CONTENTS, READONLY, DEBUGGING |
Disassembly of section .text: |
00000000 <__vectors>: |
0: 0c 94 dd 03 jmp 0x7ba ; 0x7ba <__ctors_end> |
4: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
8: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
c: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
10: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
14: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
18: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
1c: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
20: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
24: 0c 94 fe 0b jmp 0x17fc ; 0x17fc <__vector_9> |
28: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
2c: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
30: 0c 94 f6 18 jmp 0x31ec ; 0x31ec <__vector_12> |
34: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
38: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
3c: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
40: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
44: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
48: 0c 94 a5 0c jmp 0x194a ; 0x194a <__vector_18> |
4c: 0c 94 86 14 jmp 0x290c ; 0x290c <__vector_19> |
50: 0c 94 20 06 jmp 0xc40 ; 0xc40 <__vector_20> |
54: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
58: 0c 94 ea 05 jmp 0xbd4 ; 0xbd4 <__vector_22> |
5c: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
60: 0c 94 74 0d jmp 0x1ae8 ; 0x1ae8 <__vector_24> |
64: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
68: 0c 94 4f 18 jmp 0x309e ; 0x309e <__vector_26> |
6c: 0c 94 fa 03 jmp 0x7f4 ; 0x7f4 <__bad_interrupt> |
70: 97 08 sbc r9, r7 |
72: 11 09 sbc r17, r1 |
74: 11 09 sbc r17, r1 |
76: 11 09 sbc r17, r1 |
78: c9 08 sbc r12, r9 |
7a: aa 08 sbc r10, r10 |
7c: 11 09 sbc r17, r1 |
7e: 11 09 sbc r17, r1 |
80: 11 09 sbc r17, r1 |
82: f5 08 sbc r15, r5 |
84: f5 08 sbc r15, r5 |
86: f5 08 sbc r15, r5 |
88: f5 08 sbc r15, r5 |
8a: f5 08 sbc r15, r5 |
8c: cd 08 sbc r12, r13 |
8e: 11 09 sbc r17, r1 |
90: 11 09 sbc r17, r1 |
92: bc 08 sbc r11, r12 |
94: 11 09 sbc r17, r1 |
96: c5 08 sbc r12, r5 |
98: 9d 0d add r25, r13 |
9a: ef 0d add r30, r15 |
9c: 48 0e add r4, r24 |
9e: a3 0e add r10, r19 |
a0: c0 0e add r12, r16 |
a2: e3 0e add r14, r19 |
a4: 09 0f add r16, r25 |
a6: d7 0f add r29, r23 |
a8: f9 10 cpse r15, r9 |
aa: 2d 11 cpse r18, r13 |
ac: 8e 11 cpse r24, r14 |
ae: e4 11 cpse r30, r4 |
b0: 32 12 cpse r3, r18 |
b2: ab 12 cpse r10, r27 |
b4: 05 13 cpse r16, r21 |
b6: 66 13 cpse r22, r22 |
b8: 8a 13 cpse r24, r26 |
ba: c0 13 cpse r28, r16 |
bc: fc 13 cpse r31, r28 |
be: 3a 14 cp r3, r10 |
c0: 68 18 sub r6, r8 |
c2: 6d 18 sub r6, r13 |
c4: 89 18 sub r8, r9 |
c6: 97 18 sub r9, r7 |
c8: 9c 18 sub r9, r12 |
ca: a7 18 sub r10, r7 |
cc: af 18 sub r10, r15 |
ce: c3 18 sub r12, r3 |
000000d0 <__c.2054>: |
d0: 0a 0a 0d 00 .... |
000000d4 <__c.2052>: |
d4: 4e 65 75 74 72 61 6c 00 Neutral. |
000000dc <__c.2050>: |
dc: 48 65 61 64 69 6e 67 48 6f 6c 64 00 HeadingHold. |
000000e8 <__c.2048>: |
e8: 0a 0d 53 74 65 75 65 72 75 6e 67 3a 20 00 ..Steuerung: . |
000000f6 <__c.2046>: |
f6: 4f 4b 0a 0d 00 OK... |
000000fb <__c.2041>: |
fb: 0a 0d 41 62 67 6c 65 69 63 68 20 4c 75 66 74 64 ..Abgleich Luftd |
10b: 72 75 63 6b 73 65 6e 73 6f 72 2e 2e 00 rucksensor... |
00000118 <__c.2039>: |
118: 0a 0d 4b 61 6c 69 62 72 69 65 72 65 20 4e 65 75 ..Kalibriere Neu |
128: 74 72 61 6c 6c 61 67 65 00 trallage. |
00000131 <__c.2037>: |
131: 0a 0d 4b 61 6c 69 62 72 69 65 72 65 20 4b 6f 6d ..Kalibriere Kom |
141: 70 61 73 73 00 pass. |
00000146 <__c.2032>: |
146: 0a 0d 42 65 6e 75 74 7a 65 20 50 61 72 61 6d 65 ..Benutze Parame |
156: 74 65 72 73 61 74 7a 20 25 64 00 tersatz %d. |
00000161 <__c.2026>: |
161: 0a 0d 49 6e 69 74 2e 20 45 45 50 52 4f 4d 3a 20 ..Init. EEPROM: |
171: 47 65 6e 65 72 69 65 72 65 20 44 65 66 61 75 6c Generiere Defaul |
181: 74 2d 50 61 72 61 6d 65 74 65 72 2e 2e 2e 00 t-Parameter.... |
00000190 <__c.2024>: |
190: 0a 0d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ..============== |
1a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================ |
... |
000001b1 <__c.2022>: |
1b1: 0a 0d 46 6c 69 67 68 74 43 6f 6e 74 72 6f 6c 20 ..FlightControl |
1c1: 56 25 64 2e 25 64 20 00 V%d.%d . |
000001c9 <__c.2021>: |
1c9: 2e 00 .. |
000001cb <__c.2112>: |
1cb: 5a 5f 4f 66 66 73 65 74 3a 20 20 25 33 69 00 Z_Offset: %3i. |
000001da <__c.2110>: |
1da: 59 5f 4f 66 66 73 65 74 3a 20 20 25 33 69 00 Y_Offset: %3i. |
000001e9 <__c.2108>: |
1e9: 58 5f 4f 66 66 73 65 74 3a 20 20 25 33 69 00 X_Offset: %3i. |
000001f8 <__c.2106>: |
1f8: 4d 4d 33 20 6b 61 6c 69 62 2e 00 MM3 kalib.. |
00000203 <__c.2103>: |
203: 52 61 6e 67 65 3a 25 33 69 2d 25 33 69 00 Range:%3i-%3i. |
00000211 <__c.2101>: |
211: 53 74 65 6c 6c 75 6e 67 3a 20 25 33 69 00 Stellung: %3i. |
0000021f <__c.2099>: |
21f: 53 65 74 70 6f 69 6e 74 20 20 25 33 69 00 Setpoint %3i. |
0000022d <__c.2097>: |
22d: 53 65 72 76 6f 20 20 00 Servo . |
00000235 <__c.2094>: |
235: 50 6f 74 69 34 3a 20 20 25 33 69 00 Poti4: %3i. |
00000241 <__c.2092>: |
241: 50 6f 74 69 33 3a 20 20 25 33 69 00 Poti3: %3i. |
0000024d <__c.2090>: |
24d: 50 6f 74 69 32 3a 20 20 25 33 69 00 Poti2: %3i. |
00000259 <__c.2088>: |
259: 50 6f 74 69 31 3a 20 20 25 33 69 00 Poti1: %3i. |
00000265 <__c.2085>: |
265: 53 74 61 72 74 3a 20 20 20 20 20 25 35 69 00 Start: %5i. |
00000274 <__c.2083>: |
274: 4d 65 73 73 77 65 72 74 3a 20 20 25 35 69 00 Messwert: %5i. |
00000283 <__c.2081>: |
283: 52 69 63 68 74 75 6e 67 3a 20 20 25 35 69 00 Richtung: %5i. |
00000292 <__c.2079>: |
292: 4b 6f 6d 70 61 73 73 20 20 20 20 20 20 20 00 Kompass . |
000002a1 <__c.2076>: |
2a1: 45 6d 70 66 2e 50 65 67 65 6c 3a 25 35 69 00 Empf.Pegel:%5i. |
000002b0 <__c.2074>: |
2b0: 53 70 61 6e 6e 75 6e 67 3a 20 20 25 35 69 00 Spannung: %5i. |
000002bf <__c.2071>: |
2bf: 48 6f 63 68 20 25 34 69 20 28 25 33 69 29 00 Hoch %4i (%3i). |
000002ce <__c.2069>: |
2ce: 52 6f 6c 6c 20 25 34 69 20 28 25 33 69 29 00 Roll %4i (%3i). |
000002dd <__c.2067>: |
2dd: 4e 69 63 6b 20 25 34 69 20 28 25 33 69 29 00 Nick %4i (%3i). |
000002ec <__c.2065>: |
2ec: 41 43 43 20 2d 20 53 65 6e 73 6f 72 00 ACC - Sensor. |
000002f9 <__c.2062>: |
2f9: 47 69 65 72 20 25 34 69 20 28 25 33 69 29 00 Gier %4i (%3i). |
00000308 <__c.2060>: |
308: 52 6f 6c 6c 20 25 34 69 20 28 25 33 69 29 00 Roll %4i (%3i). |
00000317 <__c.2058>: |
317: 4e 69 63 6b 20 25 34 69 20 28 25 33 69 29 00 Nick %4i (%3i). |
00000326 <__c.2056>: |
326: 47 79 72 6f 20 2d 20 53 65 6e 73 6f 72 00 Gyro - Sensor. |
00000334 <__c.2053>: |
334: 50 33 3a 25 34 69 20 20 4b 61 6e e4 6c 65 20 00 P3:%4i Kan.le . |
00000344 <__c.2051>: |
344: 50 31 3a 25 34 69 20 20 50 32 3a 25 34 69 20 00 P1:%4i P2:%4i . |
00000354 <__c.2049>: |
354: 47 73 3a 25 34 69 20 20 47 69 3a 25 34 69 20 00 Gs:%4i Gi:%4i . |
00000364 <__c.2047>: |
364: 4e 69 3a 25 34 69 20 20 52 6f 3a 25 34 69 20 00 Ni:%4i Ro:%4i . |
00000374 <__c.2044>: |
374: 4b 37 3a 25 34 69 20 20 4b 61 6e e4 6c 65 20 00 K7:%4i Kan.le . |
00000384 <__c.2042>: |
384: 4b 35 3a 25 34 69 20 20 4b 36 3a 25 34 69 20 00 K5:%4i K6:%4i . |
00000394 <__c.2040>: |
394: 4b 33 3a 25 34 69 20 20 4b 34 3a 25 34 69 20 00 K3:%4i K4:%4i . |
000003a4 <__c.2038>: |
3a4: 4b 31 3a 25 34 69 20 20 4b 32 3a 25 34 69 20 00 K1:%4i K2:%4i . |
000003b4 <__c.2035>: |
3b4: 4b 6f 6d 70 61 73 73 3a 20 20 20 25 35 69 00 Kompass: %5i. |
000003c3 <__c.2033>: |
3c3: 52 6f 6c 6c 3a 20 20 20 20 20 20 25 35 69 00 Roll: %5i. |
000003d2 <__c.2031>: |
3d2: 4e 69 63 6b 3a 20 20 20 20 20 20 25 35 69 00 Nick: %5i. |
000003e1 <__c.2029>: |
3e1: 61 6b 74 2e 20 4c 61 67 65 00 akt. Lage. |
000003eb <__c.2026>: |
3eb: 48 f6 68 65 6e 72 65 67 65 6c 75 6e 67 00 H.henregelung. |
000003f9 <__c.2024>: |
3f9: 4b 65 69 6e 65 20 00 Keine . |
00000400 <__c.2022>: |
400: 4f 66 66 20 20 20 20 20 20 3a 20 25 35 69 00 Off : %5i. |
0000040f <__c.2020>: |
40f: 4c 75 66 74 64 72 75 63 6b 3a 20 25 35 69 00 Luftdruck: %5i. |
0000041e <__c.2018>: |
41e: 53 6f 6c 6c 48 6f 65 68 65 3a 20 25 35 69 00 SollHoehe: %5i. |
0000042d <__c.2016>: |
42d: 48 6f 65 68 65 3a 20 20 20 20 20 25 35 69 00 Hoehe: %5i. |
0000043c <__c.2012>: |
43c: 28 63 29 20 48 6f 6c 67 65 72 20 42 75 73 73 00 (c) Holger Buss. |
0000044c <__c.2010>: |
44c: 53 65 74 74 69 6e 67 3a 20 25 64 20 00 Setting: %d . |
00000459 <__c.2008>: |
459: 56 25 64 2e 25 64 00 V%d.%d. |
00000460 <__c.2006>: |
460: 2b 2b 20 4d 69 6b 72 6f 4b 6f 70 74 65 72 20 2b ++ MikroKopter + |
470: 2b 00 +. |
00000472 <__c.2003>: |
472: 5b 25 69 5d 00 [%i]. |
00000477 <pgm_atan>: |
477: 00 01 02 03 05 06 07 08 09 0a 0b 0c 0d 0f 10 11 ................ |
487: 12 13 14 15 16 17 18 19 1a 1b 1b 1c 1d 1e 1f 20 ............... |
497: 21 21 22 23 24 25 25 26 27 27 28 29 29 2a 2b 2b !!"#$%%&''())*++ |
4a7: 2c 2c 2d 2e 2e 2f 2f 30 30 31 31 32 32 33 33 34 ,,-..//001122334 |
4b7: 34 34 35 35 36 36 36 37 37 38 38 38 39 39 39 3a 445566677888999: |
4c7: 3a 3a 3b 3b 3b 3c 3c 3c 3c 3d 3d 3d 3d 3e 3e 3e ::;;;<<<<====>>> |
4d7: 3e 3f 3f 3f 3f 40 40 40 40 41 41 41 41 41 42 42 >????@@@@AAAAABB |
4e7: 42 42 42 43 43 43 43 43 43 44 44 44 44 44 44 45 BBBCCCCCCDDDDDDE |
4f7: 45 45 45 45 45 45 46 46 46 46 46 46 46 46 47 47 EEEEEEFFFFFFFFGG |
507: 47 47 47 47 47 47 48 48 48 48 48 48 48 48 48 49 GGGGGGHHHHHHHHHI |
517: 49 49 49 49 49 49 49 49 49 4a 4a 4a 4a 4a 4a 4a IIIIIIIIIJJJJJJJ |
527: 4a 4a 4a 4a 4a 4b 4b 4b 4b 4b 4b 4b 4b 4b 4b 4b JJJJJKKKKKKKKKKK |
537: 4b 4b 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c KKLLLLLLLLLLLLLL |
547: 4c 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d 4d LMMMMMMMMMMMMMMM |
557: 4d 4d 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e 4e MMNNNNNNNNNNNNNN |
567: 4e 4e 4e 4e 4e 4e 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f NNNNNNOOOOOOOOOO |
577: 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f 4f OOOOOOOOOOOOOO |
00000585 <pgm_sinus_f>: |
585: 00 00 00 00 96 43 8b 3c 29 5c 0f 3d f4 fd 54 3d .....C.<)\.=..T= |
595: 29 5c 8f 3d 0e 2d b2 3d 3d 0a d7 3d 23 db f9 3d )\.=.-.==..=#..= |
5a5: 04 56 0e 3e 77 be 1f 3e 0e 2d 32 3e 81 95 43 3e .V.>w..>.-2>..C> |
5b5: f4 fd 54 3e 66 66 66 3e d9 ce 77 3e a6 9b 84 3e ..T>fff>..w>...> |
5c5: df 4f 8d 3e 06 81 95 3e 3f 35 9e 3e 79 e9 a6 3e .O.>...>?5.>y..> |
5d5: a0 1a af 3e c7 4b b7 3e 00 00 c0 3e 27 31 c8 3e ...>.K.>...>'1.> |
5e5: 4e 62 d0 3e 75 93 d8 3e 89 41 e0 3e b0 72 e8 3e Nb.>u..>.A.>.r.> |
5f5: c5 20 f0 3e ec 51 f8 3e 00 00 00 3f 0a d7 03 3f . .>.Q.>...?...? |
605: 14 ae 07 3f 1f 85 0b 3f a0 1a 0f 3f aa f1 12 3f ...?...?...?...? |
615: 2b 87 16 3f ac 1c 1a 3f 2d b2 1d 3f 25 06 21 3f +..?...?-..?%.!? |
625: a6 9b 24 3f 9e ef 27 3f 96 43 2b 3f 8d 97 2e 3f ..$?..'?.C+?...? |
635: 85 eb 31 3f f4 fd 34 3f 62 10 38 3f d1 22 3b 3f ..1?..4?b.8?.";? |
645: 3f 35 3e 3f ae 47 41 3f 93 18 44 3f 79 e9 46 3f ?5>?.GA?..D?y.F? |
655: 5e ba 49 3f 44 8b 4c 3f a0 1a 4f 3f fc a9 51 3f ^.I?D.L?..O?..Q? |
665: 58 39 54 3f b4 c8 56 3f 87 16 59 3f 5a 64 5b 3f X9T?..V?..Y?Zd[? |
675: 2d b2 5d 3f 00 00 60 3f 4a 0c 62 3f 93 18 64 3f -.]?..`?J.b?..d? |
685: dd 24 66 3f 9e ef 67 3f e7 fb 69 3f a8 c6 6b 3f .$f?..g?..i?..k? |
695: df 4f 6d 3f a0 1a 6f 3f d7 a3 70 3f 0e 2d 72 3f .Om?..o?..p?.-r? |
6a5: bc 74 73 3f 6a bc 74 3f 19 04 76 3f c7 4b 77 3f .ts?j.t?..v?.Kw? |
6b5: ec 51 78 3f 10 58 79 3f 35 5e 7a 3f 5a 64 7b 3f .Qx?.Xy?5^z?Zd{? |
6c5: f6 28 7c 3f 91 ed 7c 3f a4 70 7d 3f 3f 35 7e 3f .(|?..|?.p}??5~? |
6d5: 52 b8 7e 3f db f9 7e 3f ee 7c 7f 3f 77 be 7f 3f R.~?..~?.|.?w..? |
6e5: 77 be 7f 3f 00 00 80 3f 00 00 80 3f w..?...?...? |
000006f1 <pgm_asin>: |
6f1: 00 00 01 01 01 01 02 02 02 03 03 03 03 04 04 04 ................ |
701: 05 05 05 05 06 06 06 07 07 07 07 08 08 08 09 09 ................ |
711: 09 09 0a 0a 0a 0b 0b 0b 0c 0c 0c 0c 0d 0d 0d 0e ................ |
721: 0e 0e 0e 0f 0f 0f 10 10 10 11 11 11 11 12 12 12 ................ |
731: 13 13 13 14 14 14 14 15 15 15 16 16 16 17 17 17 ................ |
741: 18 18 18 19 19 19 19 1a 1a 1a 1b 1b 1b 1c 1c 1c ................ |
751: 1d 1d 1d 1e 1e 1e 1f 1f 1f 20 20 20 21 21 21 22 ......... !!!" |
761: 22 22 23 23 23 24 24 25 25 25 26 26 26 27 27 27 ""###$$%%%&&&''' |
771: 28 28 29 29 29 2a 2a 2a 2b 2b 2c 2c 2c 2d 2d 2e (()))***++,,,--. |
781: 2e 2e 2f 2f 30 30 31 31 31 32 32 33 33 34 34 35 ..//001112233445 |
791: 35 36 36 37 37 38 38 39 39 3a 3a 3b 3b 3c 3c 3d 566778899::;;<<= |
7a1: 3e 3e 3f 40 40 41 42 42 43 44 44 45 46 47 48 49 >>?@@ABBCDDEFGHI |
7b1: 4a 4b 4c 4d 4f 50 52 54 5a JKLMOPRTZ |
000007ba <__ctors_end>: |
7ba: 11 24 eor r1, r1 |
7bc: 1f be out 0x3f, r1 ; 63 |
7be: cf ef ldi r28, 0xFF ; 255 |
7c0: d0 e1 ldi r29, 0x10 ; 16 |
7c2: de bf out 0x3e, r29 ; 62 |
7c4: cd bf out 0x3d, r28 ; 61 |
000007c6 <__do_copy_data>: |
7c6: 11 e0 ldi r17, 0x01 ; 1 |
7c8: a0 e0 ldi r26, 0x00 ; 0 |
7ca: b1 e0 ldi r27, 0x01 ; 1 |
7cc: ee e2 ldi r30, 0x2E ; 46 |
7ce: fe e5 ldi r31, 0x5E ; 94 |
7d0: 02 c0 rjmp .+4 ; 0x7d6 <.do_copy_data_start> |
000007d2 <.do_copy_data_loop>: |
7d2: 05 90 lpm r0, Z+ |
7d4: 0d 92 st X+, r0 |
000007d6 <.do_copy_data_start>: |
7d6: ac 38 cpi r26, 0x8C ; 140 |
7d8: b1 07 cpc r27, r17 |
7da: d9 f7 brne .-10 ; 0x7d2 <.do_copy_data_loop> |
000007dc <__do_clear_bss>: |
7dc: 15 e0 ldi r17, 0x05 ; 5 |
7de: ac e8 ldi r26, 0x8C ; 140 |
7e0: b1 e0 ldi r27, 0x01 ; 1 |
7e2: 01 c0 rjmp .+2 ; 0x7e6 <.do_clear_bss_start> |
000007e4 <.do_clear_bss_loop>: |
7e4: 1d 92 st X+, r1 |
000007e6 <.do_clear_bss_start>: |
7e6: a4 33 cpi r26, 0x34 ; 52 |
7e8: b1 07 cpc r27, r17 |
7ea: e1 f7 brne .-8 ; 0x7e4 <.do_clear_bss_loop> |
7ec: 0e 94 31 04 call 0x862 ; 0x862 <main> |
7f0: 0c 94 16 2f jmp 0x5e2c ; 0x5e2c <_exit> |
000007f4 <__bad_interrupt>: |
7f4: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> |
000007f8 <GetActiveParamSetNumber>: |
7f8: a2 e0 ldi r26, 0x02 ; 2 |
7fa: b0 e0 ldi r27, 0x00 ; 0 |
7fc: 0e 94 f8 2e call 0x5df0 ; 0x5df0 <__eeprom_read_byte_1F2021> |
800: 80 2d mov r24, r0 |
802: 99 27 eor r25, r25 |
804: 08 95 ret |
00000806 <WriteParameterSet>: |
806: fb 01 movw r30, r22 |
808: 28 2f mov r18, r24 |
80a: 86 30 cpi r24, 0x06 ; 6 |
80c: 08 f0 brcs .+2 ; 0x810 <WriteParameterSet+0xa> |
80e: 25 e0 ldi r18, 0x05 ; 5 |
810: 84 2f mov r24, r20 |
812: 99 27 eor r25, r25 |
814: 42 9f mul r20, r18 |
816: d0 01 movw r26, r0 |
818: 11 24 eor r1, r1 |
81a: ac 59 subi r26, 0x9C ; 156 |
81c: bf 4f sbci r27, 0xFF ; 255 |
0000081e <.26_start>: |
81e: 01 97 sbiw r24, 0x01 ; 1 |
820: 24 f0 brlt .+8 ; 0x82a <.26_finished> |
822: 01 90 ld r0, Z+ |
824: 0e 94 05 2f call 0x5e0a ; 0x5e0a <__eeprom_write_byte_1F2021> |
828: fa cf rjmp .-12 ; 0x81e <.26_start> |
0000082a <.26_finished>: |
82a: a2 e0 ldi r26, 0x02 ; 2 |
82c: b0 e0 ldi r27, 0x00 ; 0 |
82e: 02 2e mov r0, r18 |
830: 0e 94 05 2f call 0x5e0a ; 0x5e0a <__eeprom_write_byte_1F2021> |
834: 08 95 ret |
00000836 <ReadParameterSet>: |
836: cf 93 push r28 |
838: df 93 push r29 |
83a: fb 01 movw r30, r22 |
83c: c4 2f mov r28, r20 |
83e: dd 27 eor r29, r29 |
840: 86 30 cpi r24, 0x06 ; 6 |
842: 08 f0 brcs .+2 ; 0x846 <ReadParameterSet+0x10> |
844: 85 e0 ldi r24, 0x05 ; 5 |
846: 48 9f mul r20, r24 |
848: d0 01 movw r26, r0 |
84a: 11 24 eor r1, r1 |
84c: ac 59 subi r26, 0x9C ; 156 |
84e: bf 4f sbci r27, 0xFF ; 255 |
00000850 <.44_start>: |
850: 21 97 sbiw r28, 0x01 ; 1 |
852: 24 f0 brlt .+8 ; 0x85c <.44_finished> |
854: 0e 94 f8 2e call 0x5df0 ; 0x5df0 <__eeprom_read_byte_1F2021> |
858: 01 92 st Z+, r0 |
85a: fa cf rjmp .-12 ; 0x850 <.44_start> |
0000085c <.44_finished>: |
85c: df 91 pop r29 |
85e: cf 91 pop r28 |
860: 08 95 ret |
00000862 <main>: |
862: 0f 93 push r16 |
864: 1f 93 push r17 |
866: cf 93 push r28 |
868: df 93 push r29 |
86a: 81 e0 ldi r24, 0x01 ; 1 |
86c: 87 b9 out 0x07, r24 ; 7 |
86e: 8f ef ldi r24, 0xFF ; 255 |
870: 88 b9 out 0x08, r24 ; 8 |
872: 8b e1 ldi r24, 0x1B ; 27 |
874: 84 b9 out 0x04, r24 ; 4 |
876: 28 9a sbi 0x05, 0 ; 5 |
878: 8e e3 ldi r24, 0x3E ; 62 |
87a: 8a b9 out 0x0a, r24 ; 10 |
87c: 57 9a sbi 0x0a, 7 ; 10 |
87e: 87 ef ldi r24, 0xF7 ; 247 |
880: 8b b9 out 0x0b, r24 ; 11 |
882: 84 b7 in r24, 0x34 ; 52 |
884: 87 7f andi r24, 0xF7 ; 247 |
886: 84 bf out 0x34, r24 ; 52 |
888: 80 91 60 00 lds r24, 0x0060 |
88c: 88 61 ori r24, 0x18 ; 24 |
88e: 80 93 60 00 sts 0x0060, r24 |
892: 10 92 60 00 sts 0x0060, r1 |
896: 88 ee ldi r24, 0xE8 ; 232 |
898: 93 e0 ldi r25, 0x03 ; 3 |
89a: 90 93 a7 01 sts 0x01A7, r25 |
89e: 80 93 a6 01 sts 0x01A6, r24 |
8a2: 10 92 20 02 sts 0x0220, r1 |
8a6: 10 92 1f 02 sts 0x021F, r1 |
8aa: 10 92 b5 04 sts 0x04B5, r1 |
8ae: 10 92 b4 04 sts 0x04B4, r1 |
8b2: 10 92 1e 02 sts 0x021E, r1 |
8b6: 10 92 1d 02 sts 0x021D, r1 |
8ba: 10 92 1c 02 sts 0x021C, r1 |
8be: 10 92 1b 02 sts 0x021B, r1 |
8c2: 28 98 cbi 0x05, 0 ; 5 |
8c4: 0e 94 36 0d call 0x1a6c ; 0x1a6c <Timer_Init> |
8c8: 0e 94 f0 07 call 0xfe0 ; 0xfe0 <UART_Init> |
8cc: 0e 94 e1 18 call 0x31c2 ; 0x31c2 <rc_sum_init> |
8d0: 0e 94 6e 0d call 0x1adc ; 0x1adc <ADC_Init> |
8d4: 0e 94 35 18 call 0x306a ; 0x306a <i2c_init> |
8d8: 0e 94 e6 16 call 0x2dcc ; 0x2dcc <MM3_init> |
8dc: 78 94 sei |
8de: 10 92 ac 03 sts 0x03AC, r1 |
8e2: 8c e3 ldi r24, 0x3C ; 60 |
8e4: 80 93 ad 03 sts 0x03AD, r24 |
8e8: 84 e0 ldi r24, 0x04 ; 4 |
8ea: 80 93 ae 03 sts 0x03AE, r24 |
8ee: 8c e3 ldi r24, 0x3C ; 60 |
8f0: 90 e0 ldi r25, 0x00 ; 0 |
8f2: 9f 93 push r25 |
8f4: 8f 93 push r24 |
8f6: 1f 92 push r1 |
8f8: 1f 92 push r1 |
8fa: 81 eb ldi r24, 0xB1 ; 177 |
8fc: 91 e0 ldi r25, 0x01 ; 1 |
8fe: 9f 93 push r25 |
900: 8f 93 push r24 |
902: 1f 92 push r1 |
904: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
908: 80 e9 ldi r24, 0x90 ; 144 |
90a: 91 e0 ldi r25, 0x01 ; 1 |
90c: 9f 93 push r25 |
90e: 8f 93 push r24 |
910: 1f 92 push r1 |
912: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
916: 29 9a sbi 0x05, 1 ; 5 |
918: a1 e0 ldi r26, 0x01 ; 1 |
91a: b0 e0 ldi r27, 0x00 ; 0 |
91c: 0e 94 f8 2e call 0x5df0 ; 0x5df0 <__eeprom_read_byte_1F2021> |
920: 80 2d mov r24, r0 |
922: 2d b7 in r18, 0x3d ; 61 |
924: 3e b7 in r19, 0x3e ; 62 |
926: 26 5f subi r18, 0xF6 ; 246 |
928: 3f 4f sbci r19, 0xFF ; 255 |
92a: 2d bf out 0x3d, r18 ; 61 |
92c: 8b 33 cpi r24, 0x3B ; 59 |
92e: a9 f1 breq .+106 ; 0x99a <main+0x138> |
930: 81 e6 ldi r24, 0x61 ; 97 |
932: 91 e0 ldi r25, 0x01 ; 1 |
934: 9f 93 push r25 |
936: 8f 93 push r24 |
938: 1f 92 push r1 |
93a: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
93e: 0e 94 ac 20 call 0x4158 ; 0x4158 <DefaultKonstanten1> |
942: 4a e3 ldi r20, 0x3A ; 58 |
944: 6c ed ldi r22, 0xDC ; 220 |
946: 74 e0 ldi r23, 0x04 ; 4 |
948: 80 e0 ldi r24, 0x00 ; 0 |
94a: 0e 94 03 04 call 0x806 ; 0x806 <WriteParameterSet> |
94e: 01 e0 ldi r16, 0x01 ; 1 |
950: 0f 90 pop r0 |
952: 0f 90 pop r0 |
954: 0f 90 pop r0 |
956: 02 30 cpi r16, 0x02 ; 2 |
958: 49 f4 brne .+18 ; 0x96c <main+0x10a> |
95a: 0e 94 3f 20 call 0x407e ; 0x407e <DefaultKonstanten2> |
95e: 4a e3 ldi r20, 0x3A ; 58 |
960: 6c ed ldi r22, 0xDC ; 220 |
962: 74 e0 ldi r23, 0x04 ; 4 |
964: 82 e0 ldi r24, 0x02 ; 2 |
966: 0e 94 03 04 call 0x806 ; 0x806 <WriteParameterSet> |
96a: 03 e0 ldi r16, 0x03 ; 3 |
96c: 4a e3 ldi r20, 0x3A ; 58 |
96e: 6c ed ldi r22, 0xDC ; 220 |
970: 74 e0 ldi r23, 0x04 ; 4 |
972: 80 2f mov r24, r16 |
974: 0e 94 03 04 call 0x806 ; 0x806 <WriteParameterSet> |
978: 0f 5f subi r16, 0xFF ; 255 |
97a: 06 30 cpi r16, 0x06 ; 6 |
97c: 60 f3 brcs .-40 ; 0x956 <main+0xf4> |
97e: 81 e0 ldi r24, 0x01 ; 1 |
980: 22 e0 ldi r18, 0x02 ; 2 |
982: 30 e0 ldi r19, 0x00 ; 0 |
984: d9 01 movw r26, r18 |
986: 08 2e mov r0, r24 |
988: 0e 94 05 2f call 0x5e0a ; 0x5e0a <__eeprom_write_byte_1F2021> |
98c: 8b e3 ldi r24, 0x3B ; 59 |
98e: 21 50 subi r18, 0x01 ; 1 |
990: 30 40 sbci r19, 0x00 ; 0 |
992: d9 01 movw r26, r18 |
994: 08 2e mov r0, r24 |
996: 0e 94 05 2f call 0x5e0a ; 0x5e0a <__eeprom_write_byte_1F2021> |
99a: 02 e0 ldi r16, 0x02 ; 2 |
99c: 10 e0 ldi r17, 0x00 ; 0 |
99e: d8 01 movw r26, r16 |
9a0: 0e 94 f8 2e call 0x5df0 ; 0x5df0 <__eeprom_read_byte_1F2021> |
9a4: 80 2d mov r24, r0 |
9a6: 4a e3 ldi r20, 0x3A ; 58 |
9a8: 6c ed ldi r22, 0xDC ; 220 |
9aa: 74 e0 ldi r23, 0x04 ; 4 |
9ac: 0e 94 1b 04 call 0x836 ; 0x836 <ReadParameterSet> |
9b0: d8 01 movw r26, r16 |
9b2: 0e 94 f8 2e call 0x5df0 ; 0x5df0 <__eeprom_read_byte_1F2021> |
9b6: 80 2d mov r24, r0 |
9b8: 99 27 eor r25, r25 |
9ba: 9f 93 push r25 |
9bc: 8f 93 push r24 |
9be: 86 e4 ldi r24, 0x46 ; 70 |
9c0: 91 e0 ldi r25, 0x01 ; 1 |
9c2: 9f 93 push r25 |
9c4: 8f 93 push r24 |
9c6: 1f 92 push r1 |
9c8: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
9cc: 84 ef ldi r24, 0xF4 ; 244 |
9ce: 91 e0 ldi r25, 0x01 ; 1 |
9d0: 0e 94 e9 0b call 0x17d2 ; 0x17d2 <SetDelay> |
9d4: ec 01 movw r28, r24 |
9d6: 0f 90 pop r0 |
9d8: 0f 90 pop r0 |
9da: 0f 90 pop r0 |
9dc: 0f 90 pop r0 |
9de: 0f 90 pop r0 |
9e0: ce 01 movw r24, r28 |
9e2: 0e 94 f2 0b call 0x17e4 ; 0x17e4 <CheckDelay> |
9e6: 88 23 and r24, r24 |
9e8: d9 f3 breq .-10 ; 0x9e0 <main+0x17e> |
9ea: e0 91 de 04 lds r30, 0x04DE |
9ee: ff 27 eor r31, r31 |
9f0: ee 0f add r30, r30 |
9f2: ff 1f adc r31, r31 |
9f4: e0 55 subi r30, 0x50 ; 80 |
9f6: fb 4f sbci r31, 0xFB ; 251 |
9f8: 80 81 ld r24, Z |
9fa: 91 81 ldd r25, Z+1 ; 0x01 |
9fc: 85 36 cpi r24, 0x65 ; 101 |
9fe: 91 05 cpc r25, r1 |
a00: e4 f0 brlt .+56 ; 0xa3a <main+0x1d8> |
a02: e0 91 df 04 lds r30, 0x04DF |
a06: ff 27 eor r31, r31 |
a08: ee 0f add r30, r30 |
a0a: ff 1f adc r31, r31 |
a0c: e0 55 subi r30, 0x50 ; 80 |
a0e: fb 4f sbci r31, 0xFB ; 251 |
a10: 80 81 ld r24, Z |
a12: 91 81 ldd r25, Z+1 ; 0x01 |
a14: 85 36 cpi r24, 0x65 ; 101 |
a16: 91 05 cpc r25, r1 |
a18: 84 f0 brlt .+32 ; 0xa3a <main+0x1d8> |
a1a: 81 e3 ldi r24, 0x31 ; 49 |
a1c: 91 e0 ldi r25, 0x01 ; 1 |
a1e: 9f 93 push r25 |
a20: 8f 93 push r24 |
a22: 1f 92 push r1 |
a24: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
a28: 80 91 e4 04 lds r24, 0x04E4 |
a2c: 0f 90 pop r0 |
a2e: 0f 90 pop r0 |
a30: 0f 90 pop r0 |
a32: 83 ff sbrs r24, 3 |
a34: 02 c0 rjmp .+4 ; 0xa3a <main+0x1d8> |
a36: 0e 94 5d 16 call 0x2cba ; 0x2cba <calib_MM3> |
a3a: e0 91 de 04 lds r30, 0x04DE |
a3e: ff 27 eor r31, r31 |
a40: ee 0f add r30, r30 |
a42: ff 1f adc r31, r31 |
a44: e0 55 subi r30, 0x50 ; 80 |
a46: fb 4f sbci r31, 0xFB ; 251 |
a48: 80 81 ld r24, Z |
a4a: 91 81 ldd r25, Z+1 ; 0x01 |
a4c: 85 36 cpi r24, 0x65 ; 101 |
a4e: 91 05 cpc r25, r1 |
a50: c4 f0 brlt .+48 ; 0xa82 <main+0x220> |
a52: e0 91 df 04 lds r30, 0x04DF |
a56: ff 27 eor r31, r31 |
a58: ee 0f add r30, r30 |
a5a: ff 1f adc r31, r31 |
a5c: e0 55 subi r30, 0x50 ; 80 |
a5e: fb 4f sbci r31, 0xFB ; 251 |
a60: 80 81 ld r24, Z |
a62: 91 81 ldd r25, Z+1 ; 0x01 |
a64: 8c 59 subi r24, 0x9C ; 156 |
a66: 9f 4f sbci r25, 0xFF ; 255 |
a68: 64 f4 brge .+24 ; 0xa82 <main+0x220> |
a6a: 88 e1 ldi r24, 0x18 ; 24 |
a6c: 91 e0 ldi r25, 0x01 ; 1 |
a6e: 9f 93 push r25 |
a70: 8f 93 push r24 |
a72: 1f 92 push r1 |
a74: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
a78: 0e 94 35 22 call 0x446a ; 0x446a <Neutral_calib> |
a7c: 0f 90 pop r0 |
a7e: 0f 90 pop r0 |
a80: 0f 90 pop r0 |
a82: 80 91 e4 04 lds r24, 0x04E4 |
a86: 80 ff sbrs r24, 0 |
a88: 20 c0 rjmp .+64 ; 0xaca <main+0x268> |
a8a: 8b ef ldi r24, 0xFB ; 251 |
a8c: 90 e0 ldi r25, 0x00 ; 0 |
a8e: 9f 93 push r25 |
a90: 8f 93 push r24 |
a92: 1f 92 push r1 |
a94: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
a98: 84 ec ldi r24, 0xC4 ; 196 |
a9a: 99 e0 ldi r25, 0x09 ; 9 |
a9c: 0e 94 e9 0b call 0x17d2 ; 0x17d2 <SetDelay> |
aa0: ec 01 movw r28, r24 |
aa2: 0e 94 71 10 call 0x20e2 ; 0x20e2 <SucheLuftruckOffset> |
aa6: 0f 90 pop r0 |
aa8: 0f 90 pop r0 |
aaa: 0f 90 pop r0 |
aac: ce 01 movw r24, r28 |
aae: 0e 94 f2 0b call 0x17e4 ; 0x17e4 <CheckDelay> |
ab2: 88 23 and r24, r24 |
ab4: d9 f3 breq .-10 ; 0xaac <main+0x24a> |
ab6: 86 ef ldi r24, 0xF6 ; 246 |
ab8: 90 e0 ldi r25, 0x00 ; 0 |
aba: 9f 93 push r25 |
abc: 8f 93 push r24 |
abe: 1f 92 push r1 |
ac0: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
ac4: 0f 90 pop r0 |
ac6: 0f 90 pop r0 |
ac8: 0f 90 pop r0 |
aca: 0e 94 63 21 call 0x42c6 ; 0x42c6 <SetNeutral> |
ace: 28 98 cbi 0x05, 0 ; 5 |
ad0: 80 ed ldi r24, 0xD0 ; 208 |
ad2: 97 e0 ldi r25, 0x07 ; 7 |
ad4: 90 93 a7 01 sts 0x01A7, r25 |
ad8: 80 93 a6 01 sts 0x01A6, r24 |
adc: 88 ee ldi r24, 0xE8 ; 232 |
ade: 93 e0 ldi r25, 0x03 ; 3 |
ae0: 90 93 a7 03 sts 0x03A7, r25 |
ae4: 80 93 a6 03 sts 0x03A6, r24 |
ae8: 85 e5 ldi r24, 0x55 ; 85 |
aea: 80 93 a1 03 sts 0x03A1, r24 |
aee: 88 ee ldi r24, 0xE8 ; 232 |
af0: 90 e0 ldi r25, 0x00 ; 0 |
af2: 9f 93 push r25 |
af4: 8f 93 push r24 |
af6: 1f 92 push r1 |
af8: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
afc: 80 91 e4 04 lds r24, 0x04E4 |
b00: 0f 90 pop r0 |
b02: 0f 90 pop r0 |
b04: 0f 90 pop r0 |
b06: 82 ff sbrs r24, 2 |
b08: 03 c0 rjmp .+6 ; 0xb10 <main+0x2ae> |
b0a: 8c ed ldi r24, 0xDC ; 220 |
b0c: 90 e0 ldi r25, 0x00 ; 0 |
b0e: 02 c0 rjmp .+4 ; 0xb14 <main+0x2b2> |
b10: 84 ed ldi r24, 0xD4 ; 212 |
b12: 90 e0 ldi r25, 0x00 ; 0 |
b14: 9f 93 push r25 |
b16: 8f 93 push r24 |
b18: 1f 92 push r1 |
b1a: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
b1e: 0f 90 pop r0 |
b20: 0f 90 pop r0 |
b22: 0f 90 pop r0 |
b24: 80 ed ldi r24, 0xD0 ; 208 |
b26: 90 e0 ldi r25, 0x00 ; 0 |
b28: 9f 93 push r25 |
b2a: 8f 93 push r24 |
b2c: 1f 92 push r1 |
b2e: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
b32: 0e 94 98 10 call 0x2130 ; 0x2130 <LcdClear> |
b36: 0f 90 pop r0 |
b38: 0f 90 pop r0 |
b3a: 0f 90 pop r0 |
b3c: 80 91 a5 01 lds r24, 0x01A5 |
b40: 88 23 and r24, r24 |
b42: 79 f1 breq .+94 ; 0xba2 <main+0x340> |
b44: 10 92 a5 01 sts 0x01A5, r1 |
b48: 0e 94 9a 22 call 0x4534 ; 0x4534 <MotorRegler> |
b4c: 0e 94 1c 21 call 0x4238 ; 0x4238 <SendMotorData> |
b50: 28 98 cbi 0x05, 0 ; 5 |
b52: 80 91 01 01 lds r24, 0x0101 |
b56: 88 23 and r24, r24 |
b58: 19 f0 breq .+6 ; 0xb60 <main+0x2fe> |
b5a: 81 50 subi r24, 0x01 ; 1 |
b5c: 80 93 01 01 sts 0x0101, r24 |
b60: 80 91 1a 02 lds r24, 0x021A |
b64: 88 23 and r24, r24 |
b66: 29 f0 breq .+10 ; 0xb72 <main+0x310> |
b68: 80 91 1a 02 lds r24, 0x021A |
b6c: 81 50 subi r24, 0x01 ; 1 |
b6e: 80 93 1a 02 sts 0x021A, r24 |
b72: 20 91 06 01 lds r18, 0x0106 |
b76: 30 91 07 01 lds r19, 0x0107 |
b7a: 80 91 f4 04 lds r24, 0x04F4 |
b7e: 99 27 eor r25, r25 |
b80: 28 17 cp r18, r24 |
b82: 39 07 cpc r19, r25 |
b84: 34 f4 brge .+12 ; 0xb92 <main+0x330> |
b86: 80 ed ldi r24, 0xD0 ; 208 |
b88: 97 e0 ldi r25, 0x07 ; 7 |
b8a: 90 93 a7 01 sts 0x01A7, r25 |
b8e: 80 93 a6 01 sts 0x01A6, r24 |
b92: 80 91 d1 01 lds r24, 0x01D1 |
b96: 88 23 and r24, r24 |
b98: 19 f4 brne .+6 ; 0xba0 <main+0x33e> |
b9a: 0e 94 35 18 call 0x306a ; 0x306a <i2c_init> |
b9e: 01 c0 rjmp .+2 ; 0xba2 <main+0x340> |
ba0: 28 98 cbi 0x05, 0 ; 5 |
ba2: 0e 94 0b 08 call 0x1016 ; 0x1016 <DatenUebertragung> |
ba6: 0e 94 79 08 call 0x10f2 ; 0x10f2 <BearbeiteRxDaten> |
baa: 80 e0 ldi r24, 0x00 ; 0 |
bac: 90 e0 ldi r25, 0x00 ; 0 |
bae: 0e 94 f2 0b call 0x17e4 ; 0x17e4 <CheckDelay> |
bb2: 88 23 and r24, r24 |
bb4: 19 f2 breq .-122 ; 0xb3c <main+0x2da> |
bb6: 80 91 21 02 lds r24, 0x0221 |
bba: 88 23 and r24, r24 |
bbc: 29 f0 breq .+10 ; 0xbc8 <main+0x366> |
bbe: 88 b1 in r24, 0x08 ; 8 |
bc0: 90 e1 ldi r25, 0x10 ; 16 |
bc2: 89 27 eor r24, r25 |
bc4: 88 b9 out 0x08, r24 ; 8 |
bc6: 01 c0 rjmp .+2 ; 0xbca <main+0x368> |
bc8: 44 98 cbi 0x08, 4 ; 8 |
bca: 84 ef ldi r24, 0xF4 ; 244 |
bcc: 91 e0 ldi r25, 0x01 ; 1 |
bce: 0e 94 e9 0b call 0x17d2 ; 0x17d2 <SetDelay> |
bd2: b4 cf rjmp .-152 ; 0xb3c <main+0x2da> |
00000bd4 <__vector_22>: |
bd4: 1f 92 push r1 |
bd6: 0f 92 push r0 |
bd8: 0f b6 in r0, 0x3f ; 63 |
bda: 0f 92 push r0 |
bdc: 11 24 eor r1, r1 |
bde: 8f 93 push r24 |
be0: 9f 93 push r25 |
be2: ef 93 push r30 |
be4: ff 93 push r31 |
be6: 80 91 00 01 lds r24, 0x0100 |
bea: 88 23 and r24, r24 |
bec: e1 f4 brne .+56 ; 0xc26 <__vector_22+0x52> |
bee: 80 91 a1 01 lds r24, 0x01A1 |
bf2: 90 91 a2 01 lds r25, 0x01A2 |
bf6: 01 96 adiw r24, 0x01 ; 1 |
bf8: 90 93 a2 01 sts 0x01A2, r25 |
bfc: 80 93 a1 01 sts 0x01A1, r24 |
c00: fc 01 movw r30, r24 |
c02: ed 58 subi r30, 0x8D ; 141 |
c04: fd 4f sbci r31, 0xFD ; 253 |
c06: e0 81 ld r30, Z |
c08: ed 30 cpi r30, 0x0D ; 13 |
c0a: 19 f0 breq .+6 ; 0xc12 <__vector_22+0x3e> |
c0c: 86 39 cpi r24, 0x96 ; 150 |
c0e: 91 05 cpc r25, r1 |
c10: 39 f4 brne .+14 ; 0xc20 <__vector_22+0x4c> |
c12: 10 92 a2 01 sts 0x01A2, r1 |
c16: 10 92 a1 01 sts 0x01A1, r1 |
c1a: 81 e0 ldi r24, 0x01 ; 1 |
c1c: 80 93 00 01 sts 0x0100, r24 |
c20: e0 93 c6 00 sts 0x00C6, r30 |
c24: 04 c0 rjmp .+8 ; 0xc2e <__vector_22+0x5a> |
c26: 10 92 a2 01 sts 0x01A2, r1 |
c2a: 10 92 a1 01 sts 0x01A1, r1 |
c2e: ff 91 pop r31 |
c30: ef 91 pop r30 |
c32: 9f 91 pop r25 |
c34: 8f 91 pop r24 |
c36: 0f 90 pop r0 |
c38: 0f be out 0x3f, r0 ; 63 |
c3a: 0f 90 pop r0 |
c3c: 1f 90 pop r1 |
c3e: 18 95 reti |
00000c40 <__vector_20>: |
c40: 1f 92 push r1 |
c42: 0f 92 push r0 |
c44: 0f b6 in r0, 0x3f ; 63 |
c46: 0f 92 push r0 |
c48: 11 24 eor r1, r1 |
c4a: 2f 93 push r18 |
c4c: 3f 93 push r19 |
c4e: 4f 93 push r20 |
c50: 8f 93 push r24 |
c52: 9f 93 push r25 |
c54: af 93 push r26 |
c56: bf 93 push r27 |
c58: cf 93 push r28 |
c5a: df 93 push r29 |
c5c: ef 93 push r30 |
c5e: ff 93 push r31 |
c60: 80 91 c6 00 lds r24, 0x00C6 |
c64: 80 93 90 01 sts 0x0190, r24 |
c68: 40 91 9c 01 lds r20, 0x019C |
c6c: 46 39 cpi r20, 0x96 ; 150 |
c6e: 10 f0 brcs .+4 ; 0xc74 <__vector_20+0x34> |
c70: 10 92 9b 01 sts 0x019B, r1 |
c74: 80 91 90 01 lds r24, 0x0190 |
c78: 8d 30 cpi r24, 0x0D ; 13 |
c7a: 09 f0 breq .+2 ; 0xc7e <__vector_20+0x3e> |
c7c: 5c c0 rjmp .+184 ; 0xd36 <__vector_20+0xf6> |
c7e: 80 91 9b 01 lds r24, 0x019B |
c82: 82 30 cpi r24, 0x02 ; 2 |
c84: 09 f0 breq .+2 ; 0xc88 <__vector_20+0x48> |
c86: 57 c0 rjmp .+174 ; 0xd36 <__vector_20+0xf6> |
c88: 10 92 9b 01 sts 0x019B, r1 |
c8c: a4 2f mov r26, r20 |
c8e: bb 27 eor r27, r27 |
c90: fd 01 movw r30, r26 |
c92: ec 54 subi r30, 0x4C ; 76 |
c94: fc 4f sbci r31, 0xFC ; 252 |
c96: 30 81 ld r19, Z |
c98: ed 01 movw r28, r26 |
c9a: cb 54 subi r28, 0x4B ; 75 |
c9c: dc 4f sbci r29, 0xFC ; 252 |
c9e: 28 81 ld r18, Y |
ca0: 80 91 9f 01 lds r24, 0x019F |
ca4: 90 91 a0 01 lds r25, 0x01A0 |
ca8: 83 1b sub r24, r19 |
caa: 91 09 sbc r25, r1 |
cac: 82 1b sub r24, r18 |
cae: 91 09 sbc r25, r1 |
cb0: 9f 70 andi r25, 0x0F ; 15 |
cb2: 90 93 a0 01 sts 0x01A0, r25 |
cb6: 80 93 9f 01 sts 0x019F, r24 |
cba: 9c 01 movw r18, r24 |
cbc: 96 e0 ldi r25, 0x06 ; 6 |
cbe: 36 95 lsr r19 |
cc0: 27 95 ror r18 |
cc2: 9a 95 dec r25 |
cc4: e1 f7 brne .-8 ; 0xcbe <__vector_20+0x7e> |
cc6: 23 5c subi r18, 0xC3 ; 195 |
cc8: 20 93 9e 01 sts 0x019E, r18 |
ccc: 98 2f mov r25, r24 |
cce: 9f 73 andi r25, 0x3F ; 63 |
cd0: 93 5c subi r25, 0xC3 ; 195 |
cd2: 90 93 9d 01 sts 0x019D, r25 |
cd6: 80 81 ld r24, Z |
cd8: 28 17 cp r18, r24 |
cda: 29 f4 brne .+10 ; 0xce6 <__vector_20+0xa6> |
cdc: 88 81 ld r24, Y |
cde: 98 17 cp r25, r24 |
ce0: 11 f4 brne .+4 ; 0xce6 <__vector_20+0xa6> |
ce2: 91 e0 ldi r25, 0x01 ; 1 |
ce4: 06 c0 rjmp .+12 ; 0xcf2 <__vector_20+0xb2> |
ce6: 80 91 93 01 lds r24, 0x0193 |
cea: 8f 5f subi r24, 0xFF ; 255 |
cec: 80 93 93 01 sts 0x0193, r24 |
cf0: 90 e0 ldi r25, 0x00 ; 0 |
cf2: 80 91 91 01 lds r24, 0x0191 |
cf6: 88 23 and r24, r24 |
cf8: 09 f0 breq .+2 ; 0xcfc <__vector_20+0xbc> |
cfa: 64 c0 rjmp .+200 ; 0xdc4 <__vector_20+0x184> |
cfc: 99 23 and r25, r25 |
cfe: 09 f4 brne .+2 ; 0xd02 <__vector_20+0xc2> |
d00: 61 c0 rjmp .+194 ; 0xdc4 <__vector_20+0x184> |
d02: 81 e0 ldi r24, 0x01 ; 1 |
d04: 80 93 91 01 sts 0x0191, r24 |
d08: 40 93 94 01 sts 0x0194, r20 |
d0c: aa 54 subi r26, 0x4A ; 74 |
d0e: bc 4f sbci r27, 0xFC ; 252 |
d10: 8d e0 ldi r24, 0x0D ; 13 |
d12: 8c 93 st X, r24 |
d14: 80 91 b8 03 lds r24, 0x03B8 |
d18: 82 35 cpi r24, 0x52 ; 82 |
d1a: 09 f0 breq .+2 ; 0xd1e <__vector_20+0xde> |
d1c: 53 c0 rjmp .+166 ; 0xdc4 <__vector_20+0x184> |
d1e: 88 e1 ldi r24, 0x18 ; 24 |
d20: 90 e0 ldi r25, 0x00 ; 0 |
d22: 2c e0 ldi r18, 0x0C ; 12 |
d24: 0f b6 in r0, 0x3f ; 63 |
d26: f8 94 cli |
d28: a8 95 wdr |
d2a: 80 93 60 00 sts 0x0060, r24 |
d2e: 0f be out 0x3f, r0 ; 63 |
d30: 20 93 60 00 sts 0x0060, r18 |
d34: 47 c0 rjmp .+142 ; 0xdc4 <__vector_20+0x184> |
d36: 80 91 9b 01 lds r24, 0x019B |
d3a: 81 30 cpi r24, 0x01 ; 1 |
d3c: d9 f0 breq .+54 ; 0xd74 <__vector_20+0x134> |
d3e: 81 30 cpi r24, 0x01 ; 1 |
d40: 18 f0 brcs .+6 ; 0xd48 <__vector_20+0x108> |
d42: 82 30 cpi r24, 0x02 ; 2 |
d44: e9 f5 brne .+122 ; 0xdc0 <__vector_20+0x180> |
d46: 30 c0 rjmp .+96 ; 0xda8 <__vector_20+0x168> |
d48: 80 91 90 01 lds r24, 0x0190 |
d4c: 83 32 cpi r24, 0x23 ; 35 |
d4e: 39 f4 brne .+14 ; 0xd5e <__vector_20+0x11e> |
d50: 80 91 91 01 lds r24, 0x0191 |
d54: 88 23 and r24, r24 |
d56: 19 f4 brne .+6 ; 0xd5e <__vector_20+0x11e> |
d58: 81 e0 ldi r24, 0x01 ; 1 |
d5a: 80 93 9b 01 sts 0x019B, r24 |
d5e: 80 91 90 01 lds r24, 0x0190 |
d62: 80 93 b6 03 sts 0x03B6, r24 |
d66: 81 e0 ldi r24, 0x01 ; 1 |
d68: 80 93 9c 01 sts 0x019C, r24 |
d6c: 80 91 90 01 lds r24, 0x0190 |
d70: 99 27 eor r25, r25 |
d72: 15 c0 rjmp .+42 ; 0xd9e <__vector_20+0x15e> |
d74: 82 e0 ldi r24, 0x02 ; 2 |
d76: 80 93 9b 01 sts 0x019B, r24 |
d7a: e4 2f mov r30, r20 |
d7c: ff 27 eor r31, r31 |
d7e: 80 91 90 01 lds r24, 0x0190 |
d82: ea 54 subi r30, 0x4A ; 74 |
d84: fc 4f sbci r31, 0xFC ; 252 |
d86: 80 83 st Z, r24 |
d88: 4f 5f subi r20, 0xFF ; 255 |
d8a: 40 93 9c 01 sts 0x019C, r20 |
d8e: 20 91 90 01 lds r18, 0x0190 |
d92: 80 91 9f 01 lds r24, 0x019F |
d96: 90 91 a0 01 lds r25, 0x01A0 |
d9a: 82 0f add r24, r18 |
d9c: 91 1d adc r25, r1 |
d9e: 90 93 a0 01 sts 0x01A0, r25 |
da2: 80 93 9f 01 sts 0x019F, r24 |
da6: 0e c0 rjmp .+28 ; 0xdc4 <__vector_20+0x184> |
da8: e4 2f mov r30, r20 |
daa: ff 27 eor r31, r31 |
dac: 80 91 90 01 lds r24, 0x0190 |
db0: ea 54 subi r30, 0x4A ; 74 |
db2: fc 4f sbci r31, 0xFC ; 252 |
db4: 80 83 st Z, r24 |
db6: 46 39 cpi r20, 0x96 ; 150 |
db8: 38 f3 brcs .-50 ; 0xd88 <__vector_20+0x148> |
dba: 10 92 9b 01 sts 0x019B, r1 |
dbe: e7 cf rjmp .-50 ; 0xd8e <__vector_20+0x14e> |
dc0: 10 92 9b 01 sts 0x019B, r1 |
dc4: ff 91 pop r31 |
dc6: ef 91 pop r30 |
dc8: df 91 pop r29 |
dca: cf 91 pop r28 |
dcc: bf 91 pop r27 |
dce: af 91 pop r26 |
dd0: 9f 91 pop r25 |
dd2: 8f 91 pop r24 |
dd4: 4f 91 pop r20 |
dd6: 3f 91 pop r19 |
dd8: 2f 91 pop r18 |
dda: 0f 90 pop r0 |
ddc: 0f be out 0x3f, r0 ; 63 |
dde: 0f 90 pop r0 |
de0: 1f 90 pop r1 |
de2: 18 95 reti |
00000de4 <AddCRC>: |
de4: dc 01 movw r26, r24 |
de6: 20 e0 ldi r18, 0x00 ; 0 |
de8: 30 e0 ldi r19, 0x00 ; 0 |
dea: 40 e0 ldi r20, 0x00 ; 0 |
dec: 50 e0 ldi r21, 0x00 ; 0 |
dee: e3 e7 ldi r30, 0x73 ; 115 |
df0: f2 e0 ldi r31, 0x02 ; 2 |
df2: 05 c0 rjmp .+10 ; 0xdfe <AddCRC+0x1a> |
df4: 81 91 ld r24, Z+ |
df6: 28 0f add r18, r24 |
df8: 31 1d adc r19, r1 |
dfa: 4f 5f subi r20, 0xFF ; 255 |
dfc: 5f 4f sbci r21, 0xFF ; 255 |
dfe: 4a 17 cp r20, r26 |
e00: 5b 07 cpc r21, r27 |
e02: c1 f7 brne .-16 ; 0xdf4 <AddCRC+0x10> |
e04: 3f 70 andi r19, 0x0F ; 15 |
e06: c9 01 movw r24, r18 |
e08: 36 e0 ldi r19, 0x06 ; 6 |
e0a: 96 95 lsr r25 |
e0c: 87 95 ror r24 |
e0e: 3a 95 dec r19 |
e10: e1 f7 brne .-8 ; 0xe0a <AddCRC+0x26> |
e12: 83 5c subi r24, 0xC3 ; 195 |
e14: fd 01 movw r30, r26 |
e16: ed 58 subi r30, 0x8D ; 141 |
e18: fd 4f sbci r31, 0xFD ; 253 |
e1a: 80 83 st Z, r24 |
e1c: 11 96 adiw r26, 0x01 ; 1 |
e1e: 2f 73 andi r18, 0x3F ; 63 |
e20: 23 5c subi r18, 0xC3 ; 195 |
e22: fd 01 movw r30, r26 |
e24: ed 58 subi r30, 0x8D ; 141 |
e26: fd 4f sbci r31, 0xFD ; 253 |
e28: 20 83 st Z, r18 |
e2a: ac 58 subi r26, 0x8C ; 140 |
e2c: bd 4f sbci r27, 0xFD ; 253 |
e2e: 8d e0 ldi r24, 0x0D ; 13 |
e30: 8c 93 st X, r24 |
e32: 10 92 00 01 sts 0x0100, r1 |
e36: 80 91 73 02 lds r24, 0x0273 |
e3a: 80 93 c6 00 sts 0x00C6, r24 |
e3e: 08 95 ret |
00000e40 <SendOutData>: |
e40: ef 92 push r14 |
e42: ff 92 push r15 |
e44: 0f 93 push r16 |
e46: 1f 93 push r17 |
e48: cf 93 push r28 |
e4a: df 93 push r29 |
e4c: 7a 01 movw r14, r20 |
e4e: 72 2f mov r23, r18 |
e50: 93 e2 ldi r25, 0x23 ; 35 |
e52: 90 93 73 02 sts 0x0273, r25 |
e56: 60 93 74 02 sts 0x0274, r22 |
e5a: 80 93 75 02 sts 0x0275, r24 |
e5e: 03 e0 ldi r16, 0x03 ; 3 |
e60: 10 e0 ldi r17, 0x00 ; 0 |
e62: 60 e0 ldi r22, 0x00 ; 0 |
e64: a6 e7 ldi r26, 0x76 ; 118 |
e66: b2 e0 ldi r27, 0x02 ; 2 |
e68: 46 c0 rjmp .+140 ; 0xef6 <SendOutData+0xb6> |
e6a: f7 01 movw r30, r14 |
e6c: e6 0f add r30, r22 |
e6e: f1 1d adc r31, r1 |
e70: 90 81 ld r25, Z |
e72: 6f 5f subi r22, 0xFF ; 255 |
e74: 71 50 subi r23, 0x01 ; 1 |
e76: 19 f4 brne .+6 ; 0xe7e <SendOutData+0x3e> |
e78: e0 e0 ldi r30, 0x00 ; 0 |
e7a: 40 e0 ldi r20, 0x00 ; 0 |
e7c: 0f c0 rjmp .+30 ; 0xe9c <SendOutData+0x5c> |
e7e: f7 01 movw r30, r14 |
e80: e6 0f add r30, r22 |
e82: f1 1d adc r31, r1 |
e84: 40 81 ld r20, Z |
e86: 6f 5f subi r22, 0xFF ; 255 |
e88: 71 50 subi r23, 0x01 ; 1 |
e8a: 11 f4 brne .+4 ; 0xe90 <SendOutData+0x50> |
e8c: e0 e0 ldi r30, 0x00 ; 0 |
e8e: 06 c0 rjmp .+12 ; 0xe9c <SendOutData+0x5c> |
e90: f7 01 movw r30, r14 |
e92: e6 0f add r30, r22 |
e94: f1 1d adc r31, r1 |
e96: e0 81 ld r30, Z |
e98: 6f 5f subi r22, 0xFF ; 255 |
e9a: 71 50 subi r23, 0x01 ; 1 |
e9c: 89 2f mov r24, r25 |
e9e: 86 95 lsr r24 |
ea0: 86 95 lsr r24 |
ea2: 83 5c subi r24, 0xC3 ; 195 |
ea4: 8c 93 st X, r24 |
ea6: 55 27 eor r21, r21 |
ea8: 89 2f mov r24, r25 |
eaa: 99 27 eor r25, r25 |
eac: 83 70 andi r24, 0x03 ; 3 |
eae: 90 70 andi r25, 0x00 ; 0 |
eb0: 24 e0 ldi r18, 0x04 ; 4 |
eb2: 88 0f add r24, r24 |
eb4: 99 1f adc r25, r25 |
eb6: 2a 95 dec r18 |
eb8: e1 f7 brne .-8 ; 0xeb2 <SendOutData+0x72> |
eba: 9a 01 movw r18, r20 |
ebc: 94 e0 ldi r25, 0x04 ; 4 |
ebe: 36 95 lsr r19 |
ec0: 27 95 ror r18 |
ec2: 9a 95 dec r25 |
ec4: e1 f7 brne .-8 ; 0xebe <SendOutData+0x7e> |
ec6: 82 2b or r24, r18 |
ec8: 83 5c subi r24, 0xC3 ; 195 |
eca: ed 01 movw r28, r26 |
ecc: 89 83 std Y+1, r24 ; 0x01 |
ece: 4f 70 andi r20, 0x0F ; 15 |
ed0: 50 70 andi r21, 0x00 ; 0 |
ed2: 44 0f add r20, r20 |
ed4: 55 1f adc r21, r21 |
ed6: 44 0f add r20, r20 |
ed8: 55 1f adc r21, r21 |
eda: 8e 2f mov r24, r30 |
edc: 82 95 swap r24 |
ede: 86 95 lsr r24 |
ee0: 86 95 lsr r24 |
ee2: 83 70 andi r24, 0x03 ; 3 |
ee4: 84 2b or r24, r20 |
ee6: 83 5c subi r24, 0xC3 ; 195 |
ee8: 8a 83 std Y+2, r24 ; 0x02 |
eea: ef 73 andi r30, 0x3F ; 63 |
eec: e3 5c subi r30, 0xC3 ; 195 |
eee: eb 83 std Y+3, r30 ; 0x03 |
ef0: 0c 5f subi r16, 0xFC ; 252 |
ef2: 1f 4f sbci r17, 0xFF ; 255 |
ef4: 14 96 adiw r26, 0x04 ; 4 |
ef6: 77 23 and r23, r23 |
ef8: 09 f0 breq .+2 ; 0xefc <SendOutData+0xbc> |
efa: b7 cf rjmp .-146 ; 0xe6a <SendOutData+0x2a> |
efc: c8 01 movw r24, r16 |
efe: 0e 94 f2 06 call 0xde4 ; 0xde4 <AddCRC> |
f02: e6 e0 ldi r30, 0x06 ; 6 |
f04: cd b7 in r28, 0x3d ; 61 |
f06: de b7 in r29, 0x3e ; 62 |
f08: 0c 94 e3 2e jmp 0x5dc6 ; 0x5dc6 <__epilogue_restores__+0x18> |
00000f0c <Decode64>: |
f0c: 1f 93 push r17 |
f0e: cf 93 push r28 |
f10: df 93 push r29 |
f12: ec 01 movw r28, r24 |
f14: 70 e0 ldi r23, 0x00 ; 0 |
f16: a2 2f mov r26, r18 |
f18: bb 27 eor r27, r27 |
f1a: 12 97 sbiw r26, 0x02 ; 2 |
f1c: 48 c0 rjmp .+144 ; 0xfae <Decode64+0xa2> |
f1e: e4 2f mov r30, r20 |
f20: ff 27 eor r31, r31 |
f22: ea 54 subi r30, 0x4A ; 74 |
f24: fc 4f sbci r31, 0xFC ; 252 |
f26: 30 81 ld r19, Z |
f28: 4f 5f subi r20, 0xFF ; 255 |
f2a: e4 2f mov r30, r20 |
f2c: ff 27 eor r31, r31 |
f2e: ea 54 subi r30, 0x4A ; 74 |
f30: fc 4f sbci r31, 0xFC ; 252 |
f32: 50 81 ld r21, Z |
f34: 4f 5f subi r20, 0xFF ; 255 |
f36: e4 2f mov r30, r20 |
f38: ff 27 eor r31, r31 |
f3a: ea 54 subi r30, 0x4A ; 74 |
f3c: fc 4f sbci r31, 0xFC ; 252 |
f3e: 10 81 ld r17, Z |
f40: 4f 5f subi r20, 0xFF ; 255 |
f42: e4 2f mov r30, r20 |
f44: ff 27 eor r31, r31 |
f46: ea 54 subi r30, 0x4A ; 74 |
f48: fc 4f sbci r31, 0xFC ; 252 |
f4a: 20 81 ld r18, Z |
f4c: 4f 5f subi r20, 0xFF ; 255 |
f4e: 84 2f mov r24, r20 |
f50: 99 27 eor r25, r25 |
f52: a8 17 cp r26, r24 |
f54: b9 07 cpc r27, r25 |
f56: 74 f1 brlt .+92 ; 0xfb4 <Decode64+0xa8> |
f58: 5d 53 subi r21, 0x3D ; 61 |
f5a: fe 01 movw r30, r28 |
f5c: e7 0f add r30, r23 |
f5e: f1 1d adc r31, r1 |
f60: 3d 53 subi r19, 0x3D ; 61 |
f62: 33 0f add r19, r19 |
f64: 33 0f add r19, r19 |
f66: 85 2f mov r24, r21 |
f68: 82 95 swap r24 |
f6a: 8f 70 andi r24, 0x0F ; 15 |
f6c: 38 2b or r19, r24 |
f6e: 30 83 st Z, r19 |
f70: 61 30 cpi r22, 0x01 ; 1 |
f72: 01 f1 breq .+64 ; 0xfb4 <Decode64+0xa8> |
f74: 91 2f mov r25, r17 |
f76: 9d 53 subi r25, 0x3D ; 61 |
f78: 7f 5f subi r23, 0xFF ; 255 |
f7a: fe 01 movw r30, r28 |
f7c: e7 0f add r30, r23 |
f7e: f1 1d adc r31, r1 |
f80: 71 50 subi r23, 0x01 ; 1 |
f82: 52 95 swap r21 |
f84: 50 7f andi r21, 0xF0 ; 240 |
f86: 89 2f mov r24, r25 |
f88: 86 95 lsr r24 |
f8a: 86 95 lsr r24 |
f8c: 58 2b or r21, r24 |
f8e: 50 83 st Z, r21 |
f90: 63 50 subi r22, 0x03 ; 3 |
f92: 6f 3f cpi r22, 0xFF ; 255 |
f94: 79 f0 breq .+30 ; 0xfb4 <Decode64+0xa8> |
f96: 7e 5f subi r23, 0xFE ; 254 |
f98: fe 01 movw r30, r28 |
f9a: e7 0f add r30, r23 |
f9c: f1 1d adc r31, r1 |
f9e: 92 95 swap r25 |
fa0: 99 0f add r25, r25 |
fa2: 99 0f add r25, r25 |
fa4: 90 7c andi r25, 0xC0 ; 192 |
fa6: 2d 53 subi r18, 0x3D ; 61 |
fa8: 92 2b or r25, r18 |
faa: 90 83 st Z, r25 |
fac: 7f 5f subi r23, 0xFF ; 255 |
fae: 66 23 and r22, r22 |
fb0: 09 f0 breq .+2 ; 0xfb4 <Decode64+0xa8> |
fb2: b5 cf rjmp .-150 ; 0xf1e <Decode64+0x12> |
fb4: df 91 pop r29 |
fb6: cf 91 pop r28 |
fb8: 1f 91 pop r17 |
fba: 08 95 ret |
00000fbc <uart_putchar>: |
fbc: 1f 93 push r17 |
fbe: 18 2f mov r17, r24 |
fc0: 8a 30 cpi r24, 0x0A ; 10 |
fc2: 19 f4 brne .+6 ; 0xfca <uart_putchar+0xe> |
fc4: 8d e0 ldi r24, 0x0D ; 13 |
fc6: 0e 94 de 07 call 0xfbc ; 0xfbc <uart_putchar> |
fca: 80 91 c0 00 lds r24, 0x00C0 |
fce: 85 ff sbrs r24, 5 |
fd0: fc cf rjmp .-8 ; 0xfca <uart_putchar+0xe> |
fd2: 10 93 c6 00 sts 0x00C6, r17 |
fd6: 80 e0 ldi r24, 0x00 ; 0 |
fd8: 90 e0 ldi r25, 0x00 ; 0 |
fda: 1f 91 pop r17 |
fdc: 08 95 ret |
00000fde <WriteProgramData>: |
fde: 08 95 ret |
00000fe0 <UART_Init>: |
fe0: e1 ec ldi r30, 0xC1 ; 193 |
fe2: f0 e0 ldi r31, 0x00 ; 0 |
fe4: 88 e1 ldi r24, 0x18 ; 24 |
fe6: 80 83 st Z, r24 |
fe8: a0 ec ldi r26, 0xC0 ; 192 |
fea: b0 e0 ldi r27, 0x00 ; 0 |
fec: 8c 91 ld r24, X |
fee: 82 60 ori r24, 0x02 ; 2 |
ff0: 8c 93 st X, r24 |
ff2: 80 81 ld r24, Z |
ff4: 80 68 ori r24, 0x80 ; 128 |
ff6: 80 83 st Z, r24 |
ff8: 80 81 ld r24, Z |
ffa: 80 64 ori r24, 0x40 ; 64 |
ffc: 80 83 st Z, r24 |
ffe: 8a e2 ldi r24, 0x2A ; 42 |
1000: 80 93 c4 00 sts 0x00C4, r24 |
1004: 88 ec ldi r24, 0xC8 ; 200 |
1006: 90 e0 ldi r25, 0x00 ; 0 |
1008: 0e 94 e9 0b call 0x17d2 ; 0x17d2 <SetDelay> |
100c: 90 93 a0 03 sts 0x03A0, r25 |
1010: 80 93 9f 03 sts 0x039F, r24 |
1014: 08 95 ret |
00001016 <DatenUebertragung>: |
1016: 80 91 00 01 lds r24, 0x0100 |
101a: 88 23 and r24, r24 |
101c: 09 f4 brne .+2 ; 0x1020 <DatenUebertragung+0xa> |
101e: 68 c0 rjmp .+208 ; 0x10f0 <DatenUebertragung+0xda> |
1020: 80 91 8c 01 lds r24, 0x018C |
1024: 88 23 and r24, r24 |
1026: 71 f0 breq .+28 ; 0x1044 <DatenUebertragung+0x2e> |
1028: 80 91 00 01 lds r24, 0x0100 |
102c: 88 23 and r24, r24 |
102e: 51 f0 breq .+20 ; 0x1044 <DatenUebertragung+0x2e> |
1030: 2b e0 ldi r18, 0x0B ; 11 |
1032: 41 ea ldi r20, 0xA1 ; 161 |
1034: 53 e0 ldi r21, 0x03 ; 3 |
1036: 60 91 72 02 lds r22, 0x0272 |
103a: 87 e4 ldi r24, 0x47 ; 71 |
103c: 0e 94 20 07 call 0xe40 ; 0xe40 <SendOutData> |
1040: 10 92 8c 01 sts 0x018C, r1 |
1044: 80 91 9f 03 lds r24, 0x039F |
1048: 90 91 a0 03 lds r25, 0x03A0 |
104c: 0e 94 f2 0b call 0x17e4 ; 0x17e4 <CheckDelay> |
1050: 88 23 and r24, r24 |
1052: 21 f4 brne .+8 ; 0x105c <DatenUebertragung+0x46> |
1054: 80 91 8e 01 lds r24, 0x018E |
1058: 88 23 and r24, r24 |
105a: b1 f0 breq .+44 ; 0x1088 <DatenUebertragung+0x72> |
105c: 80 91 00 01 lds r24, 0x0100 |
1060: 88 23 and r24, r24 |
1062: 91 f0 breq .+36 ; 0x1088 <DatenUebertragung+0x72> |
1064: 22 e3 ldi r18, 0x32 ; 50 |
1066: 4c e4 ldi r20, 0x4C ; 76 |
1068: 54 e0 ldi r21, 0x04 ; 4 |
106a: 60 91 72 02 lds r22, 0x0272 |
106e: 84 e4 ldi r24, 0x44 ; 68 |
1070: 0e 94 20 07 call 0xe40 ; 0xe40 <SendOutData> |
1074: 10 92 8e 01 sts 0x018E, r1 |
1078: 8a ef ldi r24, 0xFA ; 250 |
107a: 90 e0 ldi r25, 0x00 ; 0 |
107c: 0e 94 e9 0b call 0x17d2 ; 0x17d2 <SetDelay> |
1080: 90 93 a0 03 sts 0x03A0, r25 |
1084: 80 93 9f 03 sts 0x039F, r24 |
1088: 80 91 8d 01 lds r24, 0x018D |
108c: 88 23 and r24, r24 |
108e: f1 f0 breq .+60 ; 0x10cc <DatenUebertragung+0xb6> |
1090: 80 91 00 01 lds r24, 0x0100 |
1094: 88 23 and r24, r24 |
1096: d1 f0 breq .+52 ; 0x10cc <DatenUebertragung+0xb6> |
1098: 0e 94 a1 10 call 0x2142 ; 0x2142 <Menu> |
109c: 10 92 8d 01 sts 0x018D, r1 |
10a0: 80 91 9a 01 lds r24, 0x019A |
10a4: 8f 5f subi r24, 0xFF ; 255 |
10a6: 80 93 9a 01 sts 0x019A, r24 |
10aa: 84 30 cpi r24, 0x04 ; 4 |
10ac: 11 f4 brne .+4 ; 0x10b2 <DatenUebertragung+0x9c> |
10ae: 10 92 9a 01 sts 0x019A, r1 |
10b2: 80 91 9a 01 lds r24, 0x019A |
10b6: 44 e1 ldi r20, 0x14 ; 20 |
10b8: 84 9f mul r24, r20 |
10ba: a0 01 movw r20, r0 |
10bc: 11 24 eor r1, r1 |
10be: 48 5e subi r20, 0xE8 ; 232 |
10c0: 5e 4f sbci r21, 0xFE ; 254 |
10c2: 24 e1 ldi r18, 0x14 ; 20 |
10c4: 60 e0 ldi r22, 0x00 ; 0 |
10c6: 80 5d subi r24, 0xD0 ; 208 |
10c8: 0e 94 20 07 call 0xe40 ; 0xe40 <SendOutData> |
10cc: 80 91 8f 01 lds r24, 0x018F |
10d0: 88 23 and r24, r24 |
10d2: 71 f0 breq .+28 ; 0x10f0 <DatenUebertragung+0xda> |
10d4: 80 91 00 01 lds r24, 0x0100 |
10d8: 88 23 and r24, r24 |
10da: 51 f0 breq .+20 ; 0x10f0 <DatenUebertragung+0xda> |
10dc: 2a e0 ldi r18, 0x0A ; 10 |
10de: 4c ea ldi r20, 0xAC ; 172 |
10e0: 53 e0 ldi r21, 0x03 ; 3 |
10e2: 60 91 72 02 lds r22, 0x0272 |
10e6: 86 e5 ldi r24, 0x56 ; 86 |
10e8: 0e 94 20 07 call 0xe40 ; 0xe40 <SendOutData> |
10ec: 10 92 8f 01 sts 0x018F, r1 |
10f0: 08 95 ret |
000010f2 <BearbeiteRxDaten>: |
10f2: a2 e0 ldi r26, 0x02 ; 2 |
10f4: b0 e0 ldi r27, 0x00 ; 0 |
10f6: ef e7 ldi r30, 0x7F ; 127 |
10f8: f8 e0 ldi r31, 0x08 ; 8 |
10fa: 0c 94 ca 2e jmp 0x5d94 ; 0x5d94 <__prologue_saves__+0x1e> |
10fe: 80 91 91 01 lds r24, 0x0191 |
1102: 88 23 and r24, r24 |
1104: 09 f4 brne .+2 ; 0x1108 <__stack+0x9> |
1106: 8f c0 rjmp .+286 ; 0x1226 <__stack+0x127> |
1108: 8f ef ldi r24, 0xFF ; 255 |
110a: 80 93 01 01 sts 0x0101, r24 |
110e: 80 91 b8 03 lds r24, 0x03B8 |
1112: 99 27 eor r25, r25 |
1114: aa 27 eor r26, r26 |
1116: bb 27 eor r27, r27 |
1118: fc 01 movw r30, r24 |
111a: e3 56 subi r30, 0x63 ; 99 |
111c: f0 40 sbci r31, 0x00 ; 0 |
111e: e4 31 cpi r30, 0x14 ; 20 |
1120: f1 05 cpc r31, r1 |
1122: 08 f0 brcs .+2 ; 0x1126 <__stack+0x27> |
1124: 7e c0 rjmp .+252 ; 0x1222 <__stack+0x123> |
1126: e8 5c subi r30, 0xC8 ; 200 |
1128: ff 4f sbci r31, 0xFF ; 255 |
112a: 0c 94 f2 2e jmp 0x5de4 ; 0x5de4 <__tablejump2__> |
112e: 20 91 94 01 lds r18, 0x0194 |
1132: 43 e0 ldi r20, 0x03 ; 3 |
1134: 6b e0 ldi r22, 0x0B ; 11 |
1136: 81 ea ldi r24, 0xA1 ; 161 |
1138: 93 e0 ldi r25, 0x03 ; 3 |
113a: 0e 94 86 07 call 0xf0c ; 0xf0c <Decode64> |
113e: 80 91 c8 01 lds r24, 0x01C8 |
1142: 90 91 a3 03 lds r25, 0x03A3 |
1146: 89 2b or r24, r25 |
1148: 80 93 c8 01 sts 0x01C8, r24 |
114c: 81 e0 ldi r24, 0x01 ; 1 |
114e: 80 93 8e 01 sts 0x018E, r24 |
1152: 67 c0 rjmp .+206 ; 0x1222 <__stack+0x123> |
1154: 20 91 94 01 lds r18, 0x0194 |
1158: 43 e0 ldi r20, 0x03 ; 3 |
115a: 62 e0 ldi r22, 0x02 ; 2 |
115c: ce 01 movw r24, r28 |
115e: 01 96 adiw r24, 0x01 ; 1 |
1160: 0e 94 86 07 call 0xf0c ; 0xf0c <Decode64> |
1164: 80 91 c8 01 lds r24, 0x01C8 |
1168: 99 81 ldd r25, Y+1 ; 0x01 |
116a: 89 2b or r24, r25 |
116c: 80 93 c8 01 sts 0x01C8, r24 |
1170: 81 e0 ldi r24, 0x01 ; 1 |
1172: 80 93 8d 01 sts 0x018D, r24 |
1176: 55 c0 rjmp .+170 ; 0x1222 <__stack+0x123> |
1178: 20 91 94 01 lds r18, 0x0194 |
117c: 43 e0 ldi r20, 0x03 ; 3 |
117e: 64 e0 ldi r22, 0x04 ; 4 |
1180: 86 e9 ldi r24, 0x96 ; 150 |
1182: 91 e0 ldi r25, 0x01 ; 1 |
1184: 0e 94 86 07 call 0xf0c ; 0xf0c <Decode64> |
1188: 4c c0 rjmp .+152 ; 0x1222 <__stack+0x123> |
118a: 81 e0 ldi r24, 0x01 ; 1 |
118c: 80 93 8f 01 sts 0x018F, r24 |
1190: 48 c0 rjmp .+144 ; 0x1222 <__stack+0x123> |
1192: 81 e0 ldi r24, 0x01 ; 1 |
1194: 80 93 8c 01 sts 0x018C, r24 |
1198: 44 c0 rjmp .+136 ; 0x1222 <__stack+0x123> |
119a: 20 91 94 01 lds r18, 0x0194 |
119e: 43 e0 ldi r20, 0x03 ; 3 |
11a0: 62 e0 ldi r22, 0x02 ; 2 |
11a2: ce 01 movw r24, r28 |
11a4: 01 96 adiw r24, 0x01 ; 1 |
11a6: 0e 94 86 07 call 0xf0c ; 0xf0c <Decode64> |
11aa: 89 81 ldd r24, Y+1 ; 0x01 |
11ac: 8f 3f cpi r24, 0xFF ; 255 |
11ae: 89 f0 breq .+34 ; 0x11d2 <__stack+0xd3> |
11b0: 86 30 cpi r24, 0x06 ; 6 |
11b2: 10 f0 brcs .+4 ; 0x11b8 <__stack+0xb9> |
11b4: 85 e0 ldi r24, 0x05 ; 5 |
11b6: 89 83 std Y+1, r24 ; 0x01 |
11b8: 4a e3 ldi r20, 0x3A ; 58 |
11ba: 6c ed ldi r22, 0xDC ; 220 |
11bc: 74 e0 ldi r23, 0x04 ; 4 |
11be: 89 81 ldd r24, Y+1 ; 0x01 |
11c0: 0e 94 1b 04 call 0x836 ; 0x836 <ReadParameterSet> |
11c4: 89 81 ldd r24, Y+1 ; 0x01 |
11c6: 2a e3 ldi r18, 0x3A ; 58 |
11c8: 4c ed ldi r20, 0xDC ; 220 |
11ca: 54 e0 ldi r21, 0x04 ; 4 |
11cc: 60 91 72 02 lds r22, 0x0272 |
11d0: 08 c0 rjmp .+16 ; 0x11e2 <__stack+0xe3> |
11d2: 10 91 72 02 lds r17, 0x0272 |
11d6: 0e 94 fc 03 call 0x7f8 ; 0x7f8 <GetActiveParamSetNumber> |
11da: 2a e3 ldi r18, 0x3A ; 58 |
11dc: 4c ed ldi r20, 0xDC ; 220 |
11de: 54 e0 ldi r21, 0x04 ; 4 |
11e0: 61 2f mov r22, r17 |
11e2: 85 5b subi r24, 0xB5 ; 181 |
11e4: 0e 94 20 07 call 0xe40 ; 0xe40 <SendOutData> |
11e8: 1c c0 rjmp .+56 ; 0x1222 <__stack+0x123> |
11ea: 20 91 94 01 lds r18, 0x0194 |
11ee: 43 e0 ldi r20, 0x03 ; 3 |
11f0: 6a e3 ldi r22, 0x3A ; 58 |
11f2: 8c ed ldi r24, 0xDC ; 220 |
11f4: 94 e0 ldi r25, 0x04 ; 4 |
11f6: 0e 94 86 07 call 0xf0c ; 0xf0c <Decode64> |
11fa: 80 91 b8 03 lds r24, 0x03B8 |
11fe: 4a e3 ldi r20, 0x3A ; 58 |
1200: 6c ed ldi r22, 0xDC ; 220 |
1202: 74 e0 ldi r23, 0x04 ; 4 |
1204: 8b 56 subi r24, 0x6B ; 107 |
1206: 0e 94 03 04 call 0x806 ; 0x806 <WriteParameterSet> |
120a: 80 91 b8 03 lds r24, 0x03B8 |
120e: 8b 56 subi r24, 0x6B ; 107 |
1210: a2 e0 ldi r26, 0x02 ; 2 |
1212: b0 e0 ldi r27, 0x00 ; 0 |
1214: 08 2e mov r0, r24 |
1216: 0e 94 05 2f call 0x5e0a ; 0x5e0a <__eeprom_write_byte_1F2021> |
121a: 0e 94 fc 03 call 0x7f8 ; 0x7f8 <GetActiveParamSetNumber> |
121e: 0e 94 85 22 call 0x450a ; 0x450a <Piep> |
1222: 10 92 91 01 sts 0x0191, r1 |
1226: e3 e0 ldi r30, 0x03 ; 3 |
1228: ce 5f subi r28, 0xFE ; 254 |
122a: 0c 94 e6 2e jmp 0x5dcc ; 0x5dcc <__epilogue_restores__+0x1e> |
0000122e <Putchar>: |
122e: 98 2f mov r25, r24 |
1230: 80 91 7e 04 lds r24, 0x047E |
1234: 81 30 cpi r24, 0x01 ; 1 |
1236: 69 f4 brne .+26 ; 0x1252 <Putchar+0x24> |
1238: 80 91 c7 01 lds r24, 0x01C7 |
123c: e8 2f mov r30, r24 |
123e: ff 27 eor r31, r31 |
1240: e8 5e subi r30, 0xE8 ; 232 |
1242: fe 4f sbci r31, 0xFE ; 254 |
1244: 90 83 st Z, r25 |
1246: 8f 5f subi r24, 0xFF ; 255 |
1248: 80 93 c7 01 sts 0x01C7, r24 |
124c: 21 e0 ldi r18, 0x01 ; 1 |
124e: 30 e0 ldi r19, 0x00 ; 0 |
1250: 05 c0 rjmp .+10 ; 0x125c <Putchar+0x2e> |
1252: 89 2f mov r24, r25 |
1254: 0e 94 de 07 call 0xfbc ; 0xfbc <uart_putchar> |
1258: 28 2f mov r18, r24 |
125a: 33 27 eor r19, r19 |
125c: c9 01 movw r24, r18 |
125e: 08 95 ret |
00001260 <PAD_0>: |
1260: 1f 93 push r17 |
1262: 18 2f mov r17, r24 |
1264: 04 c0 rjmp .+8 ; 0x126e <PAD_0+0xe> |
1266: 80 e3 ldi r24, 0x30 ; 48 |
1268: 0e 94 17 09 call 0x122e ; 0x122e <Putchar> |
126c: 11 50 subi r17, 0x01 ; 1 |
126e: 11 16 cp r1, r17 |
1270: d4 f3 brlt .-12 ; 0x1266 <PAD_0+0x6> |
1272: 1f 91 pop r17 |
1274: 08 95 ret |
00001276 <PAD_SP>: |
1276: 1f 93 push r17 |
1278: 18 2f mov r17, r24 |
127a: 04 c0 rjmp .+8 ; 0x1284 <PAD_SP+0xe> |
127c: 80 e2 ldi r24, 0x20 ; 32 |
127e: 0e 94 17 09 call 0x122e ; 0x122e <Putchar> |
1282: 11 50 subi r17, 0x01 ; 1 |
1284: 11 16 cp r1, r17 |
1286: d4 f3 brlt .-12 ; 0x127c <PAD_SP+0x6> |
1288: 1f 91 pop r17 |
128a: 08 95 ret |
0000128c <PRINTP>: |
128c: 0f 93 push r16 |
128e: 1f 93 push r17 |
1290: cf 93 push r28 |
1292: df 93 push r29 |
1294: 8c 01 movw r16, r24 |
1296: eb 01 movw r28, r22 |
1298: 08 c0 rjmp .+16 ; 0x12aa <PRINTP+0x1e> |
129a: f8 01 movw r30, r16 |
129c: 0f 5f subi r16, 0xFF ; 255 |
129e: 1f 4f sbci r17, 0xFF ; 255 |
12a0: e4 91 lpm r30, Z |
12a2: 8e 2f mov r24, r30 |
12a4: 0e 94 17 09 call 0x122e ; 0x122e <Putchar> |
12a8: 21 97 sbiw r28, 0x01 ; 1 |
12aa: 20 97 sbiw r28, 0x00 ; 0 |
12ac: b1 f7 brne .-20 ; 0x129a <PRINTP+0xe> |
12ae: df 91 pop r29 |
12b0: cf 91 pop r28 |
12b2: 1f 91 pop r17 |
12b4: 0f 91 pop r16 |
12b6: 08 95 ret |
000012b8 <PRINT>: |
12b8: 0f 93 push r16 |
12ba: 1f 93 push r17 |
12bc: cf 93 push r28 |
12be: df 93 push r29 |
12c0: 8c 01 movw r16, r24 |
12c2: eb 01 movw r28, r22 |
12c4: 06 c0 rjmp .+12 ; 0x12d2 <PRINT+0x1a> |
12c6: f8 01 movw r30, r16 |
12c8: 81 91 ld r24, Z+ |
12ca: 8f 01 movw r16, r30 |
12cc: 0e 94 17 09 call 0x122e ; 0x122e <Putchar> |
12d0: 21 97 sbiw r28, 0x01 ; 1 |
12d2: 20 97 sbiw r28, 0x00 ; 0 |
12d4: c1 f7 brne .-16 ; 0x12c6 <PRINT+0xe> |
12d6: df 91 pop r29 |
12d8: cf 91 pop r28 |
12da: 1f 91 pop r17 |
12dc: 0f 91 pop r16 |
12de: 08 95 ret |
000012e0 <_printf_P>: |
12e0: a3 e3 ldi r26, 0x33 ; 51 |
12e2: b0 e0 ldi r27, 0x00 ; 0 |
12e4: e6 e7 ldi r30, 0x76 ; 118 |
12e6: f9 e0 ldi r31, 0x09 ; 9 |
12e8: 0c 94 bb 2e jmp 0x5d76 ; 0x5d76 <__prologue_saves__> |
12ec: 29 96 adiw r28, 0x09 ; 9 |
12ee: 8f ad ldd r24, Y+63 ; 0x3f |
12f0: 29 97 sbiw r28, 0x09 ; 9 |
12f2: 80 93 7e 04 sts 0x047E, r24 |
12f6: ce 01 movw r24, r28 |
12f8: 85 5b subi r24, 0xB5 ; 181 |
12fa: 9f 4f sbci r25, 0xFF ; 255 |
12fc: 9d 83 std Y+5, r25 ; 0x05 |
12fe: 8c 83 std Y+4, r24 ; 0x04 |
1300: 2b 96 adiw r28, 0x0b ; 11 |
1302: 8e ad ldd r24, Y+62 ; 0x3e |
1304: 9f ad ldd r25, Y+63 ; 0x3f |
1306: 2b 97 sbiw r28, 0x0b ; 11 |
1308: 9f a7 std Y+47, r25 ; 0x2f |
130a: 8e a7 std Y+46, r24 ; 0x2e |
130c: 22 24 eor r2, r2 |
130e: 33 24 eor r3, r3 |
1310: 21 01 movw r4, r2 |
1312: 02 c0 rjmp .+4 ; 0x1318 <_printf_P+0x38> |
1314: 13 01 movw r2, r6 |
1316: 24 01 movw r4, r8 |
1318: 0e a5 ldd r16, Y+46 ; 0x2e |
131a: 1f a5 ldd r17, Y+47 ; 0x2f |
131c: 02 c0 rjmp .+4 ; 0x1322 <_printf_P+0x42> |
131e: 0f 5f subi r16, 0xFF ; 255 |
1320: 1f 4f sbci r17, 0xFF ; 255 |
1322: f8 01 movw r30, r16 |
1324: f4 90 lpm r15, Z |
1326: ff 20 and r15, r15 |
1328: 19 f0 breq .+6 ; 0x1330 <_printf_P+0x50> |
132a: f5 e2 ldi r31, 0x25 ; 37 |
132c: ff 16 cp r15, r31 |
132e: b9 f7 brne .-18 ; 0x131e <_printf_P+0x3e> |
1330: b8 01 movw r22, r16 |
1332: 8e a5 ldd r24, Y+46 ; 0x2e |
1334: 9f a5 ldd r25, Y+47 ; 0x2f |
1336: 68 1b sub r22, r24 |
1338: 79 0b sbc r23, r25 |
133a: 11 f0 breq .+4 ; 0x1340 <_printf_P+0x60> |
133c: 0e 94 46 09 call 0x128c ; 0x128c <PRINTP> |
1340: ff 20 and r15, r15 |
1342: 09 f4 brne .+2 ; 0x1346 <_printf_P+0x66> |
1344: 42 c2 rjmp .+1156 ; 0x17ca <_printf_P+0x4ea> |
1346: 0f 5f subi r16, 0xFF ; 255 |
1348: 1f 4f sbci r17, 0xFF ; 255 |
134a: 1f a7 std Y+47, r17 ; 0x2f |
134c: 0e a7 std Y+46, r16 ; 0x2e |
134e: 19 82 std Y+1, r1 ; 0x01 |
1350: ac 81 ldd r26, Y+4 ; 0x04 |
1352: bd 81 ldd r27, Y+5 ; 0x05 |
1354: 1b aa std Y+51, r1 ; 0x33 |
1356: 1a aa std Y+50, r1 ; 0x32 |
1358: 9f ef ldi r25, 0xFF ; 255 |
135a: 99 ab std Y+49, r25 ; 0x31 |
135c: ee a5 ldd r30, Y+46 ; 0x2e |
135e: ff a5 ldd r31, Y+47 ; 0x2f |
1360: cf 01 movw r24, r30 |
1362: 01 96 adiw r24, 0x01 ; 1 |
1364: 9f a7 std Y+47, r25 ; 0x2f |
1366: 8e a7 std Y+46, r24 ; 0x2e |
1368: b4 90 lpm r11, Z |
136a: 95 e7 ldi r25, 0x75 ; 117 |
136c: b9 16 cp r11, r25 |
136e: 21 f0 breq .+8 ; 0x1378 <_printf_P+0x98> |
1370: 8b 2d mov r24, r11 |
1372: 80 62 ori r24, 0x20 ; 32 |
1374: 88 37 cpi r24, 0x78 ; 120 |
1376: 89 f4 brne .+34 ; 0x139a <_printf_P+0xba> |
1378: eb a9 ldd r30, Y+51 ; 0x33 |
137a: e0 ff sbrs r30, 0 |
137c: 07 c0 rjmp .+14 ; 0x138c <_printf_P+0xac> |
137e: 2d 90 ld r2, X+ |
1380: 3d 90 ld r3, X+ |
1382: 4d 90 ld r4, X+ |
1384: 5c 90 ld r5, X |
1386: 13 97 sbiw r26, 0x03 ; 3 |
1388: 14 96 adiw r26, 0x04 ; 4 |
138a: 07 c0 rjmp .+14 ; 0x139a <_printf_P+0xba> |
138c: 8d 91 ld r24, X+ |
138e: 9c 91 ld r25, X |
1390: 11 97 sbiw r26, 0x01 ; 1 |
1392: 1c 01 movw r2, r24 |
1394: 44 24 eor r4, r4 |
1396: 55 24 eor r5, r5 |
1398: 12 96 adiw r26, 0x02 ; 2 |
139a: f0 e2 ldi r31, 0x20 ; 32 |
139c: bf 16 cp r11, r31 |
139e: 21 f4 brne .+8 ; 0x13a8 <_printf_P+0xc8> |
13a0: 89 81 ldd r24, Y+1 ; 0x01 |
13a2: 88 23 and r24, r24 |
13a4: d9 f6 brne .-74 ; 0x135c <_printf_P+0x7c> |
13a6: 85 c0 rjmp .+266 ; 0x14b2 <_printf_P+0x1d2> |
13a8: 83 e2 ldi r24, 0x23 ; 35 |
13aa: b8 16 cp r11, r24 |
13ac: 09 f4 brne .+2 ; 0x13b0 <_printf_P+0xd0> |
13ae: 83 c0 rjmp .+262 ; 0x14b6 <_printf_P+0x1d6> |
13b0: 9a e2 ldi r25, 0x2A ; 42 |
13b2: b9 16 cp r11, r25 |
13b4: 21 f0 breq .+8 ; 0x13be <_printf_P+0xde> |
13b6: ed e2 ldi r30, 0x2D ; 45 |
13b8: be 16 cp r11, r30 |
13ba: 69 f4 brne .+26 ; 0x13d6 <_printf_P+0xf6> |
13bc: 08 c0 rjmp .+16 ; 0x13ce <_printf_P+0xee> |
13be: fd 01 movw r30, r26 |
13c0: 12 96 adiw r26, 0x02 ; 2 |
13c2: e0 81 ld r30, Z |
13c4: ea ab std Y+50, r30 ; 0x32 |
13c6: e7 ff sbrs r30, 7 |
13c8: c9 cf rjmp .-110 ; 0x135c <_printf_P+0x7c> |
13ca: e1 95 neg r30 |
13cc: ea ab std Y+50, r30 ; 0x32 |
13ce: fb a9 ldd r31, Y+51 ; 0x33 |
13d0: f0 61 ori r31, 0x10 ; 16 |
13d2: ff 7d andi r31, 0xDF ; 223 |
13d4: 72 c0 rjmp .+228 ; 0x14ba <_printf_P+0x1da> |
13d6: 8b e2 ldi r24, 0x2B ; 43 |
13d8: b8 16 cp r11, r24 |
13da: 09 f4 brne .+2 ; 0x13de <_printf_P+0xfe> |
13dc: 6a c0 rjmp .+212 ; 0x14b2 <_printf_P+0x1d2> |
13de: 9e e2 ldi r25, 0x2E ; 46 |
13e0: b9 16 cp r11, r25 |
13e2: b1 f5 brne .+108 ; 0x1450 <_printf_P+0x170> |
13e4: 2e a5 ldd r18, Y+46 ; 0x2e |
13e6: 3f a5 ldd r19, Y+47 ; 0x2f |
13e8: 2f 5f subi r18, 0xFF ; 255 |
13ea: 3f 4f sbci r19, 0xFF ; 255 |
13ec: ee a5 ldd r30, Y+46 ; 0x2e |
13ee: ff a5 ldd r31, Y+47 ; 0x2f |
13f0: 84 91 lpm r24, Z |
13f2: 8a 32 cpi r24, 0x2A ; 42 |
13f4: 21 f0 breq .+8 ; 0x13fe <_printf_P+0x11e> |
13f6: b8 2e mov r11, r24 |
13f8: 20 e0 ldi r18, 0x00 ; 0 |
13fa: 30 e0 ldi r19, 0x00 ; 0 |
13fc: 1b c0 rjmp .+54 ; 0x1434 <_printf_P+0x154> |
13fe: fd 01 movw r30, r26 |
1400: 12 96 adiw r26, 0x02 ; 2 |
1402: 40 81 ld r20, Z |
1404: 51 81 ldd r21, Z+1 ; 0x01 |
1406: 57 ff sbrs r21, 7 |
1408: 02 c0 rjmp .+4 ; 0x140e <_printf_P+0x12e> |
140a: 4f ef ldi r20, 0xFF ; 255 |
140c: 5f ef ldi r21, 0xFF ; 255 |
140e: 49 ab std Y+49, r20 ; 0x31 |
1410: 3f a7 std Y+47, r19 ; 0x2f |
1412: 2e a7 std Y+46, r18 ; 0x2e |
1414: a3 cf rjmp .-186 ; 0x135c <_printf_P+0x7c> |
1416: c9 01 movw r24, r18 |
1418: 03 e0 ldi r16, 0x03 ; 3 |
141a: 88 0f add r24, r24 |
141c: 99 1f adc r25, r25 |
141e: 0a 95 dec r16 |
1420: e1 f7 brne .-8 ; 0x141a <_printf_P+0x13a> |
1422: 22 0f add r18, r18 |
1424: 33 1f adc r19, r19 |
1426: 28 0f add r18, r24 |
1428: 39 1f adc r19, r25 |
142a: 2b 0d add r18, r11 |
142c: 31 1d adc r19, r1 |
142e: 20 53 subi r18, 0x30 ; 48 |
1430: 30 40 sbci r19, 0x00 ; 0 |
1432: b4 90 lpm r11, Z |
1434: 31 96 adiw r30, 0x01 ; 1 |
1436: 8b 2d mov r24, r11 |
1438: 80 53 subi r24, 0x30 ; 48 |
143a: 8a 30 cpi r24, 0x0A ; 10 |
143c: 60 f3 brcs .-40 ; 0x1416 <_printf_P+0x136> |
143e: ff a7 std Y+47, r31 ; 0x2f |
1440: ee a7 std Y+46, r30 ; 0x2e |
1442: a9 01 movw r20, r18 |
1444: 37 ff sbrs r19, 7 |
1446: 02 c0 rjmp .+4 ; 0x144c <_printf_P+0x16c> |
1448: 4f ef ldi r20, 0xFF ; 255 |
144a: 5f ef ldi r21, 0xFF ; 255 |
144c: 49 ab std Y+49, r20 ; 0x31 |
144e: 8d cf rjmp .-230 ; 0x136a <_printf_P+0x8a> |
1450: f0 e3 ldi r31, 0x30 ; 48 |
1452: bf 16 cp r11, r31 |
1454: 31 f4 brne .+12 ; 0x1462 <_printf_P+0x182> |
1456: 8b a9 ldd r24, Y+51 ; 0x33 |
1458: 84 fd sbrc r24, 4 |
145a: 80 cf rjmp .-256 ; 0x135c <_printf_P+0x7c> |
145c: 80 62 ori r24, 0x20 ; 32 |
145e: 8b ab std Y+51, r24 ; 0x33 |
1460: 7d cf rjmp .-262 ; 0x135c <_printf_P+0x7c> |
1462: 8b 2d mov r24, r11 |
1464: 81 53 subi r24, 0x31 ; 49 |
1466: 89 30 cpi r24, 0x09 ; 9 |
1468: e8 f4 brcc .+58 ; 0x14a4 <_printf_P+0x1c4> |
146a: 20 e0 ldi r18, 0x00 ; 0 |
146c: 30 e0 ldi r19, 0x00 ; 0 |
146e: c9 01 movw r24, r18 |
1470: f3 e0 ldi r31, 0x03 ; 3 |
1472: 88 0f add r24, r24 |
1474: 99 1f adc r25, r25 |
1476: fa 95 dec r31 |
1478: e1 f7 brne .-8 ; 0x1472 <_printf_P+0x192> |
147a: 22 0f add r18, r18 |
147c: 33 1f adc r19, r19 |
147e: 28 0f add r18, r24 |
1480: 39 1f adc r19, r25 |
1482: 2b 0d add r18, r11 |
1484: 31 1d adc r19, r1 |
1486: 20 53 subi r18, 0x30 ; 48 |
1488: 30 40 sbci r19, 0x00 ; 0 |
148a: ee a5 ldd r30, Y+46 ; 0x2e |
148c: ff a5 ldd r31, Y+47 ; 0x2f |
148e: cf 01 movw r24, r30 |
1490: 01 96 adiw r24, 0x01 ; 1 |
1492: 9f a7 std Y+47, r25 ; 0x2f |
1494: 8e a7 std Y+46, r24 ; 0x2e |
1496: b4 90 lpm r11, Z |
1498: 8b 2d mov r24, r11 |
149a: 80 53 subi r24, 0x30 ; 48 |
149c: 8a 30 cpi r24, 0x0A ; 10 |
149e: 38 f3 brcs .-50 ; 0x146e <_printf_P+0x18e> |
14a0: 2a ab std Y+50, r18 ; 0x32 |
14a2: 63 cf rjmp .-314 ; 0x136a <_printf_P+0x8a> |
14a4: 98 e6 ldi r25, 0x68 ; 104 |
14a6: b9 16 cp r11, r25 |
14a8: 51 f4 brne .+20 ; 0x14be <_printf_P+0x1de> |
14aa: eb a9 ldd r30, Y+51 ; 0x33 |
14ac: e4 60 ori r30, 0x04 ; 4 |
14ae: eb ab std Y+51, r30 ; 0x33 |
14b0: 55 cf rjmp .-342 ; 0x135c <_printf_P+0x7c> |
14b2: b9 82 std Y+1, r11 ; 0x01 |
14b4: 53 cf rjmp .-346 ; 0x135c <_printf_P+0x7c> |
14b6: fb a9 ldd r31, Y+51 ; 0x33 |
14b8: f8 60 ori r31, 0x08 ; 8 |
14ba: fb ab std Y+51, r31 ; 0x33 |
14bc: 4f cf rjmp .-354 ; 0x135c <_printf_P+0x7c> |
14be: 8c e6 ldi r24, 0x6C ; 108 |
14c0: b8 16 cp r11, r24 |
14c2: 21 f4 brne .+8 ; 0x14cc <_printf_P+0x1ec> |
14c4: 9b a9 ldd r25, Y+51 ; 0x33 |
14c6: 91 60 ori r25, 0x01 ; 1 |
14c8: 9b ab std Y+51, r25 ; 0x33 |
14ca: 48 cf rjmp .-368 ; 0x135c <_printf_P+0x7c> |
14cc: bd 83 std Y+5, r27 ; 0x05 |
14ce: ac 83 std Y+4, r26 ; 0x04 |
14d0: e3 e6 ldi r30, 0x63 ; 99 |
14d2: be 16 cp r11, r30 |
14d4: 39 f4 brne .+14 ; 0x14e4 <_printf_P+0x204> |
14d6: 12 96 adiw r26, 0x02 ; 2 |
14d8: bd 83 std Y+5, r27 ; 0x05 |
14da: ac 83 std Y+4, r26 ; 0x04 |
14dc: 12 97 sbiw r26, 0x02 ; 2 |
14de: 8c 91 ld r24, X |
14e0: 8e 83 std Y+6, r24 ; 0x06 |
14e2: 18 c1 rjmp .+560 ; 0x1714 <_printf_P+0x434> |
14e4: f4 e4 ldi r31, 0x44 ; 68 |
14e6: bf 16 cp r11, r31 |
14e8: 39 f0 breq .+14 ; 0x14f8 <_printf_P+0x218> |
14ea: 84 e6 ldi r24, 0x64 ; 100 |
14ec: b8 16 cp r11, r24 |
14ee: 39 f0 breq .+14 ; 0x14fe <_printf_P+0x21e> |
14f0: 99 e6 ldi r25, 0x69 ; 105 |
14f2: b9 16 cp r11, r25 |
14f4: 59 f5 brne .+86 ; 0x154c <_printf_P+0x26c> |
14f6: 03 c0 rjmp .+6 ; 0x14fe <_printf_P+0x21e> |
14f8: eb a9 ldd r30, Y+51 ; 0x33 |
14fa: e1 60 ori r30, 0x01 ; 1 |
14fc: eb ab std Y+51, r30 ; 0x33 |
14fe: fb a9 ldd r31, Y+51 ; 0x33 |
1500: f0 ff sbrs r31, 0 |
1502: 08 c0 rjmp .+16 ; 0x1514 <_printf_P+0x234> |
1504: 14 96 adiw r26, 0x04 ; 4 |
1506: bd 83 std Y+5, r27 ; 0x05 |
1508: ac 83 std Y+4, r26 ; 0x04 |
150a: 5e 90 ld r5, -X |
150c: 4e 90 ld r4, -X |
150e: 3e 90 ld r3, -X |
1510: 2e 90 ld r2, -X |
1512: 0a c0 rjmp .+20 ; 0x1528 <_printf_P+0x248> |
1514: 12 96 adiw r26, 0x02 ; 2 |
1516: bd 83 std Y+5, r27 ; 0x05 |
1518: ac 83 std Y+4, r26 ; 0x04 |
151a: 9e 91 ld r25, -X |
151c: 8e 91 ld r24, -X |
151e: 1c 01 movw r2, r24 |
1520: 44 24 eor r4, r4 |
1522: 37 fc sbrc r3, 7 |
1524: 40 94 com r4 |
1526: 54 2c mov r5, r4 |
1528: 57 fc sbrc r5, 7 |
152a: 03 c0 rjmp .+6 ; 0x1532 <_printf_P+0x252> |
152c: 8a e0 ldi r24, 0x0A ; 10 |
152e: 88 ab std Y+48, r24 ; 0x30 |
1530: 92 c0 rjmp .+292 ; 0x1656 <_printf_P+0x376> |
1532: 50 94 com r5 |
1534: 40 94 com r4 |
1536: 30 94 com r3 |
1538: 20 94 com r2 |
153a: 21 1c adc r2, r1 |
153c: 31 1c adc r3, r1 |
153e: 41 1c adc r4, r1 |
1540: 51 1c adc r5, r1 |
1542: 8d e2 ldi r24, 0x2D ; 45 |
1544: 89 83 std Y+1, r24 ; 0x01 |
1546: 9a e0 ldi r25, 0x0A ; 10 |
1548: 98 ab std Y+48, r25 ; 0x30 |
154a: 85 c0 rjmp .+266 ; 0x1656 <_printf_P+0x376> |
154c: ef e4 ldi r30, 0x4F ; 79 |
154e: be 16 cp r11, r30 |
1550: 29 f0 breq .+10 ; 0x155c <_printf_P+0x27c> |
1552: ff e6 ldi r31, 0x6F ; 111 |
1554: bf 16 cp r11, r31 |
1556: 39 f4 brne .+14 ; 0x1566 <_printf_P+0x286> |
1558: 88 e0 ldi r24, 0x08 ; 8 |
155a: 61 c0 rjmp .+194 ; 0x161e <_printf_P+0x33e> |
155c: 9b a9 ldd r25, Y+51 ; 0x33 |
155e: 91 60 ori r25, 0x01 ; 1 |
1560: 9b ab std Y+51, r25 ; 0x33 |
1562: e8 e0 ldi r30, 0x08 ; 8 |
1564: 56 c0 rjmp .+172 ; 0x1612 <_printf_P+0x332> |
1566: f0 e7 ldi r31, 0x70 ; 112 |
1568: bf 16 cp r11, r31 |
156a: 71 f4 brne .+28 ; 0x1588 <_printf_P+0x2a8> |
156c: 12 96 adiw r26, 0x02 ; 2 |
156e: bd 83 std Y+5, r27 ; 0x05 |
1570: ac 83 std Y+4, r26 ; 0x04 |
1572: 9e 91 ld r25, -X |
1574: 8e 91 ld r24, -X |
1576: 1c 01 movw r2, r24 |
1578: 44 24 eor r4, r4 |
157a: 55 24 eor r5, r5 |
157c: 8b a9 ldd r24, Y+51 ; 0x33 |
157e: 80 64 ori r24, 0x40 ; 64 |
1580: 8b ab std Y+51, r24 ; 0x33 |
1582: 78 e7 ldi r23, 0x78 ; 120 |
1584: b7 2e mov r11, r23 |
1586: 5e c0 rjmp .+188 ; 0x1644 <_printf_P+0x364> |
1588: e3 e7 ldi r30, 0x73 ; 115 |
158a: be 16 cp r11, r30 |
158c: d9 f5 brne .+118 ; 0x1604 <_printf_P+0x324> |
158e: 12 96 adiw r26, 0x02 ; 2 |
1590: bd 83 std Y+5, r27 ; 0x05 |
1592: ac 83 std Y+4, r26 ; 0x04 |
1594: de 90 ld r13, -X |
1596: ce 90 ld r12, -X |
1598: c1 14 cp r12, r1 |
159a: d1 04 cpc r13, r1 |
159c: 89 f4 brne .+34 ; 0x15c0 <_printf_P+0x2e0> |
159e: 88 e2 ldi r24, 0x28 ; 40 |
15a0: 8e 83 std Y+6, r24 ; 0x06 |
15a2: 8e e6 ldi r24, 0x6E ; 110 |
15a4: 8f 83 std Y+7, r24 ; 0x07 |
15a6: 85 e7 ldi r24, 0x75 ; 117 |
15a8: 88 87 std Y+8, r24 ; 0x08 |
15aa: 8c e6 ldi r24, 0x6C ; 108 |
15ac: 89 87 std Y+9, r24 ; 0x09 |
15ae: 8a 87 std Y+10, r24 ; 0x0a |
15b0: 89 e2 ldi r24, 0x29 ; 41 |
15b2: 8b 87 std Y+11, r24 ; 0x0b |
15b4: 1c 86 std Y+12, r1 ; 0x0c |
15b6: 66 e0 ldi r22, 0x06 ; 6 |
15b8: c6 2e mov r12, r22 |
15ba: d1 2c mov r13, r1 |
15bc: cc 0e add r12, r28 |
15be: dd 1e adc r13, r29 |
15c0: f9 a9 ldd r31, Y+49 ; 0x31 |
15c2: f7 fd sbrc r31, 7 |
15c4: 13 c0 rjmp .+38 ; 0x15ec <_printf_P+0x30c> |
15c6: 4f 2f mov r20, r31 |
15c8: 55 27 eor r21, r21 |
15ca: 47 fd sbrc r20, 7 |
15cc: 50 95 com r21 |
15ce: 60 e0 ldi r22, 0x00 ; 0 |
15d0: 70 e0 ldi r23, 0x00 ; 0 |
15d2: c6 01 movw r24, r12 |
15d4: 0e 94 c3 2c call 0x5986 ; 0x5986 <memchr> |
15d8: 00 97 sbiw r24, 0x00 ; 0 |
15da: 11 f4 brne .+4 ; 0x15e0 <_printf_P+0x300> |
15dc: 19 a9 ldd r17, Y+49 ; 0x31 |
15de: 0d c0 rjmp .+26 ; 0x15fa <_printf_P+0x31a> |
15e0: 8c 19 sub r24, r12 |
15e2: 19 a9 ldd r17, Y+49 ; 0x31 |
15e4: 81 17 cp r24, r17 |
15e6: 4c f4 brge .+18 ; 0x15fa <_printf_P+0x31a> |
15e8: 18 2f mov r17, r24 |
15ea: 07 c0 rjmp .+14 ; 0x15fa <_printf_P+0x31a> |
15ec: f6 01 movw r30, r12 |
15ee: 01 90 ld r0, Z+ |
15f0: 00 20 and r0, r0 |
15f2: e9 f7 brne .-6 ; 0x15ee <_printf_P+0x30e> |
15f4: 31 97 sbiw r30, 0x01 ; 1 |
15f6: 1e 2f mov r17, r30 |
15f8: 1c 19 sub r17, r12 |
15fa: 19 82 std Y+1, r1 ; 0x01 |
15fc: 42 01 movw r8, r4 |
15fe: 31 01 movw r6, r2 |
1600: 40 e0 ldi r20, 0x00 ; 0 |
1602: 94 c0 rjmp .+296 ; 0x172c <_printf_P+0x44c> |
1604: 85 e5 ldi r24, 0x55 ; 85 |
1606: b8 16 cp r11, r24 |
1608: 31 f0 breq .+12 ; 0x1616 <_printf_P+0x336> |
160a: 95 e7 ldi r25, 0x75 ; 117 |
160c: b9 16 cp r11, r25 |
160e: 49 f4 brne .+18 ; 0x1622 <_printf_P+0x342> |
1610: ea e0 ldi r30, 0x0A ; 10 |
1612: e8 ab std Y+48, r30 ; 0x30 |
1614: 1f c0 rjmp .+62 ; 0x1654 <_printf_P+0x374> |
1616: fb a9 ldd r31, Y+51 ; 0x33 |
1618: f1 60 ori r31, 0x01 ; 1 |
161a: fb ab std Y+51, r31 ; 0x33 |
161c: 8a e0 ldi r24, 0x0A ; 10 |
161e: 88 ab std Y+48, r24 ; 0x30 |
1620: 19 c0 rjmp .+50 ; 0x1654 <_printf_P+0x374> |
1622: 98 e5 ldi r25, 0x58 ; 88 |
1624: b9 16 cp r11, r25 |
1626: 21 f0 breq .+8 ; 0x1630 <_printf_P+0x350> |
1628: e8 e7 ldi r30, 0x78 ; 120 |
162a: be 16 cp r11, r30 |
162c: 09 f0 breq .+2 ; 0x1630 <_printf_P+0x350> |
162e: 6e c0 rjmp .+220 ; 0x170c <_printf_P+0x42c> |
1630: fb a9 ldd r31, Y+51 ; 0x33 |
1632: f3 fd sbrc r31, 3 |
1634: 02 c0 rjmp .+4 ; 0x163a <_printf_P+0x35a> |
1636: 80 e1 ldi r24, 0x10 ; 16 |
1638: f2 cf rjmp .-28 ; 0x161e <_printf_P+0x33e> |
163a: 21 14 cp r2, r1 |
163c: 31 04 cpc r3, r1 |
163e: 41 04 cpc r4, r1 |
1640: 51 04 cpc r5, r1 |
1642: 19 f4 brne .+6 ; 0x164a <_printf_P+0x36a> |
1644: 90 e1 ldi r25, 0x10 ; 16 |
1646: 98 ab std Y+48, r25 ; 0x30 |
1648: 05 c0 rjmp .+10 ; 0x1654 <_printf_P+0x374> |
164a: eb a9 ldd r30, Y+51 ; 0x33 |
164c: e0 64 ori r30, 0x40 ; 64 |
164e: eb ab std Y+51, r30 ; 0x33 |
1650: f0 e1 ldi r31, 0x10 ; 16 |
1652: f8 ab std Y+48, r31 ; 0x30 |
1654: 19 82 std Y+1, r1 ; 0x01 |
1656: 89 a9 ldd r24, Y+49 ; 0x31 |
1658: 87 fd sbrc r24, 7 |
165a: 03 c0 rjmp .+6 ; 0x1662 <_printf_P+0x382> |
165c: 9b a9 ldd r25, Y+51 ; 0x33 |
165e: 9f 7d andi r25, 0xDF ; 223 |
1660: 9b ab std Y+51, r25 ; 0x33 |
1662: 21 14 cp r2, r1 |
1664: 31 04 cpc r3, r1 |
1666: 41 04 cpc r4, r1 |
1668: 51 04 cpc r5, r1 |
166a: 61 f4 brne .+24 ; 0x1684 <_printf_P+0x3a4> |
166c: e9 a9 ldd r30, Y+49 ; 0x31 |
166e: ee 23 and r30, r30 |
1670: 49 f4 brne .+18 ; 0x1684 <_printf_P+0x3a4> |
1672: 66 24 eor r6, r6 |
1674: 77 24 eor r7, r7 |
1676: 43 01 movw r8, r6 |
1678: 5e e2 ldi r21, 0x2E ; 46 |
167a: c5 2e mov r12, r21 |
167c: d1 2c mov r13, r1 |
167e: cc 0e add r12, r28 |
1680: dd 1e adc r13, r29 |
1682: 3e c0 rjmp .+124 ; 0x1700 <_printf_P+0x420> |
1684: 4e e2 ldi r20, 0x2E ; 46 |
1686: c4 2e mov r12, r20 |
1688: d1 2c mov r13, r1 |
168a: cc 0e add r12, r28 |
168c: dd 1e adc r13, r29 |
168e: f8 a9 ldd r31, Y+48 ; 0x30 |
1690: ef 2e mov r14, r31 |
1692: ff 24 eor r15, r15 |
1694: 00 27 eor r16, r16 |
1696: 11 27 eor r17, r17 |
1698: c2 01 movw r24, r4 |
169a: b1 01 movw r22, r2 |
169c: a8 01 movw r20, r16 |
169e: 97 01 movw r18, r14 |
16a0: 0e 94 7e 2e call 0x5cfc ; 0x5cfc <__udivmodsi4> |
16a4: 6a 30 cpi r22, 0x0A ; 10 |
16a6: 20 f4 brcc .+8 ; 0x16b0 <_printf_P+0x3d0> |
16a8: 30 e3 ldi r19, 0x30 ; 48 |
16aa: a3 2e mov r10, r19 |
16ac: a6 0e add r10, r22 |
16ae: 08 c0 rjmp .+16 ; 0x16c0 <_printf_P+0x3e0> |
16b0: 27 e5 ldi r18, 0x57 ; 87 |
16b2: a2 2e mov r10, r18 |
16b4: a6 0e add r10, r22 |
16b6: 88 e5 ldi r24, 0x58 ; 88 |
16b8: b8 16 cp r11, r24 |
16ba: 11 f4 brne .+4 ; 0x16c0 <_printf_P+0x3e0> |
16bc: 9f ed ldi r25, 0xDF ; 223 |
16be: a9 22 and r10, r25 |
16c0: f6 01 movw r30, r12 |
16c2: a2 92 st -Z, r10 |
16c4: 6f 01 movw r12, r30 |
16c6: c2 01 movw r24, r4 |
16c8: b1 01 movw r22, r2 |
16ca: a8 01 movw r20, r16 |
16cc: 97 01 movw r18, r14 |
16ce: 0e 94 7e 2e call 0x5cfc ; 0x5cfc <__udivmodsi4> |
16d2: 39 01 movw r6, r18 |
16d4: 4a 01 movw r8, r20 |
16d6: 2e 14 cp r2, r14 |
16d8: 3f 04 cpc r3, r15 |
16da: 40 06 cpc r4, r16 |
16dc: 51 06 cpc r5, r17 |
16de: 18 f0 brcs .+6 ; 0x16e6 <_printf_P+0x406> |
16e0: 19 01 movw r2, r18 |
16e2: 2a 01 movw r4, r20 |
16e4: d9 cf rjmp .-78 ; 0x1698 <_printf_P+0x3b8> |
16e6: f8 a9 ldd r31, Y+48 ; 0x30 |
16e8: f8 30 cpi r31, 0x08 ; 8 |
16ea: 51 f4 brne .+20 ; 0x1700 <_printf_P+0x420> |
16ec: 8b a9 ldd r24, Y+51 ; 0x33 |
16ee: 83 ff sbrs r24, 3 |
16f0: 07 c0 rjmp .+14 ; 0x1700 <_printf_P+0x420> |
16f2: 90 e3 ldi r25, 0x30 ; 48 |
16f4: a9 16 cp r10, r25 |
16f6: 21 f0 breq .+8 ; 0x1700 <_printf_P+0x420> |
16f8: 80 e3 ldi r24, 0x30 ; 48 |
16fa: f6 01 movw r30, r12 |
16fc: 82 93 st -Z, r24 |
16fe: 6f 01 movw r12, r30 |
1700: ce 01 movw r24, r28 |
1702: 8c 19 sub r24, r12 |
1704: 18 2f mov r17, r24 |
1706: 12 5d subi r17, 0xD2 ; 210 |
1708: 49 a9 ldd r20, Y+49 ; 0x31 |
170a: 10 c0 rjmp .+32 ; 0x172c <_printf_P+0x44c> |
170c: bb 20 and r11, r11 |
170e: 09 f4 brne .+2 ; 0x1712 <_printf_P+0x432> |
1710: 5c c0 rjmp .+184 ; 0x17ca <_printf_P+0x4ea> |
1712: be 82 std Y+6, r11 ; 0x06 |
1714: 19 82 std Y+1, r1 ; 0x01 |
1716: 42 01 movw r8, r4 |
1718: 31 01 movw r6, r2 |
171a: 00 e0 ldi r16, 0x00 ; 0 |
171c: 96 e0 ldi r25, 0x06 ; 6 |
171e: c9 2e mov r12, r25 |
1720: d1 2c mov r13, r1 |
1722: cc 0e add r12, r28 |
1724: dd 1e adc r13, r29 |
1726: 11 e0 ldi r17, 0x01 ; 1 |
1728: 21 e0 ldi r18, 0x01 ; 1 |
172a: 05 c0 rjmp .+10 ; 0x1736 <_printf_P+0x456> |
172c: 21 2f mov r18, r17 |
172e: 04 2f mov r16, r20 |
1730: 01 1b sub r16, r17 |
1732: 07 fd sbrc r16, 7 |
1734: 00 e0 ldi r16, 0x00 ; 0 |
1736: 89 81 ldd r24, Y+1 ; 0x01 |
1738: 88 23 and r24, r24 |
173a: 19 f0 breq .+6 ; 0x1742 <_printf_P+0x462> |
173c: 81 2f mov r24, r17 |
173e: 8f 5f subi r24, 0xFF ; 255 |
1740: 07 c0 rjmp .+14 ; 0x1750 <_printf_P+0x470> |
1742: 9b a9 ldd r25, Y+51 ; 0x33 |
1744: 96 fd sbrc r25, 6 |
1746: 02 c0 rjmp .+4 ; 0x174c <_printf_P+0x46c> |
1748: 81 2f mov r24, r17 |
174a: 02 c0 rjmp .+4 ; 0x1750 <_printf_P+0x470> |
174c: 82 2f mov r24, r18 |
174e: 8e 5f subi r24, 0xFE ; 254 |
1750: a8 2e mov r10, r24 |
1752: a0 0e add r10, r16 |
1754: eb a9 ldd r30, Y+51 ; 0x33 |
1756: ee 2e mov r14, r30 |
1758: ff 24 eor r15, r15 |
175a: 80 e3 ldi r24, 0x30 ; 48 |
175c: 48 2e mov r4, r24 |
175e: 51 2c mov r5, r1 |
1760: 4e 20 and r4, r14 |
1762: 5f 20 and r5, r15 |
1764: 41 14 cp r4, r1 |
1766: 51 04 cpc r5, r1 |
1768: 21 f4 brne .+8 ; 0x1772 <_printf_P+0x492> |
176a: 8a a9 ldd r24, Y+50 ; 0x32 |
176c: 8a 19 sub r24, r10 |
176e: 0e 94 3b 09 call 0x1276 ; 0x1276 <PAD_SP> |
1772: 89 81 ldd r24, Y+1 ; 0x01 |
1774: 88 23 and r24, r24 |
1776: 29 f0 breq .+10 ; 0x1782 <_printf_P+0x4a2> |
1778: 61 e0 ldi r22, 0x01 ; 1 |
177a: 70 e0 ldi r23, 0x00 ; 0 |
177c: ce 01 movw r24, r28 |
177e: 01 96 adiw r24, 0x01 ; 1 |
1780: 09 c0 rjmp .+18 ; 0x1794 <_printf_P+0x4b4> |
1782: e6 fe sbrs r14, 6 |
1784: 09 c0 rjmp .+18 ; 0x1798 <_printf_P+0x4b8> |
1786: 80 e3 ldi r24, 0x30 ; 48 |
1788: 8a 83 std Y+2, r24 ; 0x02 |
178a: bb 82 std Y+3, r11 ; 0x03 |
178c: 62 e0 ldi r22, 0x02 ; 2 |
178e: 70 e0 ldi r23, 0x00 ; 0 |
1790: ce 01 movw r24, r28 |
1792: 02 96 adiw r24, 0x02 ; 2 |
1794: 0e 94 5c 09 call 0x12b8 ; 0x12b8 <PRINT> |
1798: f0 e2 ldi r31, 0x20 ; 32 |
179a: 4f 16 cp r4, r31 |
179c: 51 04 cpc r5, r1 |
179e: 21 f4 brne .+8 ; 0x17a8 <_printf_P+0x4c8> |
17a0: 8a a9 ldd r24, Y+50 ; 0x32 |
17a2: 8a 19 sub r24, r10 |
17a4: 0e 94 30 09 call 0x1260 ; 0x1260 <PAD_0> |
17a8: 80 2f mov r24, r16 |
17aa: 0e 94 30 09 call 0x1260 ; 0x1260 <PAD_0> |
17ae: 61 2f mov r22, r17 |
17b0: 77 27 eor r23, r23 |
17b2: 67 fd sbrc r22, 7 |
17b4: 70 95 com r23 |
17b6: c6 01 movw r24, r12 |
17b8: 0e 94 5c 09 call 0x12b8 ; 0x12b8 <PRINT> |
17bc: e4 fe sbrs r14, 4 |
17be: aa cd rjmp .-1196 ; 0x1314 <_printf_P+0x34> |
17c0: 8a a9 ldd r24, Y+50 ; 0x32 |
17c2: 8a 19 sub r24, r10 |
17c4: 0e 94 3b 09 call 0x1276 ; 0x1276 <PAD_SP> |
17c8: a5 cd rjmp .-1206 ; 0x1314 <_printf_P+0x34> |
17ca: e2 e1 ldi r30, 0x12 ; 18 |
17cc: cd 5c subi r28, 0xCD ; 205 |
17ce: 0c 94 d7 2e jmp 0x5dae ; 0x5dae <__epilogue_restores__> |
000017d2 <SetDelay>: |
17d2: 20 91 a3 01 lds r18, 0x01A3 |
17d6: 30 91 a4 01 lds r19, 0x01A4 |
17da: 2f 5f subi r18, 0xFF ; 255 |
17dc: 3f 4f sbci r19, 0xFF ; 255 |
17de: 82 0f add r24, r18 |
17e0: 93 1f adc r25, r19 |
17e2: 08 95 ret |
000017e4 <CheckDelay>: |
17e4: 20 91 a3 01 lds r18, 0x01A3 |
17e8: 30 91 a4 01 lds r19, 0x01A4 |
17ec: 82 1b sub r24, r18 |
17ee: 93 0b sbc r25, r19 |
17f0: 89 2f mov r24, r25 |
17f2: 99 27 eor r25, r25 |
17f4: 86 95 lsr r24 |
17f6: 80 74 andi r24, 0x40 ; 64 |
17f8: 99 27 eor r25, r25 |
17fa: 08 95 ret |
000017fc <__vector_9>: |
17fc: 1f 92 push r1 |
17fe: 0f 92 push r0 |
1800: 0f b6 in r0, 0x3f ; 63 |
1802: 0f 92 push r0 |
1804: 11 24 eor r1, r1 |
1806: ef 92 push r14 |
1808: ff 92 push r15 |
180a: 0f 93 push r16 |
180c: 1f 93 push r17 |
180e: 2f 93 push r18 |
1810: 3f 93 push r19 |
1812: 4f 93 push r20 |
1814: 5f 93 push r21 |
1816: 6f 93 push r22 |
1818: 7f 93 push r23 |
181a: 8f 93 push r24 |
181c: 9f 93 push r25 |
181e: af 93 push r26 |
1820: bf 93 push r27 |
1822: cf 93 push r28 |
1824: df 93 push r29 |
1826: ef 93 push r30 |
1828: ff 93 push r31 |
182a: 80 91 04 01 lds r24, 0x0104 |
182e: 81 50 subi r24, 0x01 ; 1 |
1830: 80 93 04 01 sts 0x0104, r24 |
1834: 8f 3f cpi r24, 0xFF ; 255 |
1836: 09 f0 breq .+2 ; 0x183a <__vector_9+0x3e> |
1838: 6d c0 rjmp .+218 ; 0x1914 <__vector_9+0x118> |
183a: 83 e8 ldi r24, 0x83 ; 131 |
183c: 80 93 b0 00 sts 0x00B0, r24 |
1840: 80 91 8b 01 lds r24, 0x018B |
1844: c8 2f mov r28, r24 |
1846: dd 27 eor r29, r29 |
1848: d0 93 a9 01 sts 0x01A9, r29 |
184c: c0 93 a8 01 sts 0x01A8, r28 |
1850: 80 91 02 05 lds r24, 0x0502 |
1854: e0 90 fe 04 lds r14, 0x04FE |
1858: 80 ff sbrs r24, 0 |
185a: 1e c0 rjmp .+60 ; 0x1898 <__vector_9+0x9c> |
185c: 60 91 da 01 lds r22, 0x01DA |
1860: 70 91 db 01 lds r23, 0x01DB |
1864: 80 91 dc 01 lds r24, 0x01DC |
1868: 90 91 dd 01 lds r25, 0x01DD |
186c: ff 24 eor r15, r15 |
186e: 00 27 eor r16, r16 |
1870: 11 27 eor r17, r17 |
1872: 20 e8 ldi r18, 0x80 ; 128 |
1874: 30 e0 ldi r19, 0x00 ; 0 |
1876: 40 e0 ldi r20, 0x00 ; 0 |
1878: 50 e0 ldi r21, 0x00 ; 0 |
187a: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
187e: c8 01 movw r24, r16 |
1880: b7 01 movw r22, r14 |
1882: 0e 94 38 2e call 0x5c70 ; 0x5c70 <__mulsi3> |
1886: 20 e0 ldi r18, 0x00 ; 0 |
1888: 32 e0 ldi r19, 0x02 ; 2 |
188a: 40 e0 ldi r20, 0x00 ; 0 |
188c: 50 e0 ldi r21, 0x00 ; 0 |
188e: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
1892: c2 0f add r28, r18 |
1894: d3 1f adc r29, r19 |
1896: 1d c0 rjmp .+58 ; 0x18d2 <__vector_9+0xd6> |
1898: 60 91 da 01 lds r22, 0x01DA |
189c: 70 91 db 01 lds r23, 0x01DB |
18a0: 80 91 dc 01 lds r24, 0x01DC |
18a4: 90 91 dd 01 lds r25, 0x01DD |
18a8: ff 24 eor r15, r15 |
18aa: 00 27 eor r16, r16 |
18ac: 11 27 eor r17, r17 |
18ae: 20 e8 ldi r18, 0x80 ; 128 |
18b0: 30 e0 ldi r19, 0x00 ; 0 |
18b2: 40 e0 ldi r20, 0x00 ; 0 |
18b4: 50 e0 ldi r21, 0x00 ; 0 |
18b6: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
18ba: c8 01 movw r24, r16 |
18bc: b7 01 movw r22, r14 |
18be: 0e 94 38 2e call 0x5c70 ; 0x5c70 <__mulsi3> |
18c2: 20 e0 ldi r18, 0x00 ; 0 |
18c4: 32 e0 ldi r19, 0x02 ; 2 |
18c6: 40 e0 ldi r20, 0x00 ; 0 |
18c8: 50 e0 ldi r21, 0x00 ; 0 |
18ca: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
18ce: c2 1b sub r28, r18 |
18d0: d3 0b sbc r29, r19 |
18d2: d0 93 a9 01 sts 0x01A9, r29 |
18d6: c0 93 a8 01 sts 0x01A8, r28 |
18da: 20 91 a8 01 lds r18, 0x01A8 |
18de: 30 91 a9 01 lds r19, 0x01A9 |
18e2: 80 91 ff 04 lds r24, 0x04FF |
18e6: 99 27 eor r25, r25 |
18e8: 28 17 cp r18, r24 |
18ea: 39 07 cpc r19, r25 |
18ec: 34 f0 brlt .+12 ; 0x18fa <__vector_9+0xfe> |
18ee: 80 91 00 05 lds r24, 0x0500 |
18f2: 99 27 eor r25, r25 |
18f4: 82 17 cp r24, r18 |
18f6: 93 07 cpc r25, r19 |
18f8: 24 f4 brge .+8 ; 0x1902 <__vector_9+0x106> |
18fa: 90 93 a9 01 sts 0x01A9, r25 |
18fe: 80 93 a8 01 sts 0x01A8, r24 |
1902: 80 91 a8 01 lds r24, 0x01A8 |
1906: 80 93 b3 00 sts 0x00B3, r24 |
190a: 80 91 01 05 lds r24, 0x0501 |
190e: 80 93 04 01 sts 0x0104, r24 |
1912: 04 c0 rjmp .+8 ; 0x191c <__vector_9+0x120> |
1914: 83 e0 ldi r24, 0x03 ; 3 |
1916: 80 93 b0 00 sts 0x00B0, r24 |
191a: 5f 98 cbi 0x0b, 7 ; 11 |
191c: ff 91 pop r31 |
191e: ef 91 pop r30 |
1920: df 91 pop r29 |
1922: cf 91 pop r28 |
1924: bf 91 pop r27 |
1926: af 91 pop r26 |
1928: 9f 91 pop r25 |
192a: 8f 91 pop r24 |
192c: 7f 91 pop r23 |
192e: 6f 91 pop r22 |
1930: 5f 91 pop r21 |
1932: 4f 91 pop r20 |
1934: 3f 91 pop r19 |
1936: 2f 91 pop r18 |
1938: 1f 91 pop r17 |
193a: 0f 91 pop r16 |
193c: ff 90 pop r15 |
193e: ef 90 pop r14 |
1940: 0f 90 pop r0 |
1942: 0f be out 0x3f, r0 ; 63 |
1944: 0f 90 pop r0 |
1946: 1f 90 pop r1 |
1948: 18 95 reti |
0000194a <__vector_18>: |
194a: 1f 92 push r1 |
194c: 0f 92 push r0 |
194e: 0f b6 in r0, 0x3f ; 63 |
1950: 0f 92 push r0 |
1952: 11 24 eor r1, r1 |
1954: 2f 93 push r18 |
1956: 3f 93 push r19 |
1958: 4f 93 push r20 |
195a: 5f 93 push r21 |
195c: 6f 93 push r22 |
195e: 7f 93 push r23 |
1960: 8f 93 push r24 |
1962: 9f 93 push r25 |
1964: af 93 push r26 |
1966: bf 93 push r27 |
1968: ef 93 push r30 |
196a: ff 93 push r31 |
196c: 80 91 aa 01 lds r24, 0x01AA |
1970: 81 50 subi r24, 0x01 ; 1 |
1972: 80 93 aa 01 sts 0x01AA, r24 |
1976: 8f 3f cpi r24, 0xFF ; 255 |
1978: 01 f5 brne .+64 ; 0x19ba <__vector_18+0x70> |
197a: 89 e0 ldi r24, 0x09 ; 9 |
197c: 80 93 aa 01 sts 0x01AA, r24 |
1980: 80 91 05 01 lds r24, 0x0105 |
1984: 8f 5f subi r24, 0xFF ; 255 |
1986: 81 70 andi r24, 0x01 ; 1 |
1988: 80 93 05 01 sts 0x0105, r24 |
198c: 88 23 and r24, r24 |
198e: 19 f4 brne .+6 ; 0x1996 <__vector_18+0x4c> |
1990: 81 e0 ldi r24, 0x01 ; 1 |
1992: 80 93 a5 01 sts 0x01A5, r24 |
1996: 80 91 a3 01 lds r24, 0x01A3 |
199a: 90 91 a4 01 lds r25, 0x01A4 |
199e: 01 96 adiw r24, 0x01 ; 1 |
19a0: 90 93 a4 01 sts 0x01A4, r25 |
19a4: 80 93 a3 01 sts 0x01A3, r24 |
19a8: 80 91 d1 01 lds r24, 0x01D1 |
19ac: 88 23 and r24, r24 |
19ae: 29 f0 breq .+10 ; 0x19ba <__vector_18+0x70> |
19b0: 80 91 d1 01 lds r24, 0x01D1 |
19b4: 81 50 subi r24, 0x01 ; 1 |
19b6: 80 93 d1 01 sts 0x01D1, r24 |
19ba: 80 91 a6 01 lds r24, 0x01A6 |
19be: 90 91 a7 01 lds r25, 0x01A7 |
19c2: 02 97 sbiw r24, 0x02 ; 2 |
19c4: 48 f0 brcs .+18 ; 0x19d8 <__vector_18+0x8e> |
19c6: 80 91 a6 01 lds r24, 0x01A6 |
19ca: 90 91 a7 01 lds r25, 0x01A7 |
19ce: 01 97 sbiw r24, 0x01 ; 1 |
19d0: 90 93 a7 01 sts 0x01A7, r25 |
19d4: 80 93 a6 01 sts 0x01A6, r24 |
19d8: 5a 98 cbi 0x0b, 2 ; 11 |
19da: 80 91 e4 04 lds r24, 0x04E4 |
19de: 83 ff sbrs r24, 3 |
19e0: 34 c0 rjmp .+104 ; 0x1a4a <__vector_18+0x100> |
19e2: 0e 94 29 16 call 0x2c52 ; 0x2c52 <MM3_timer0> |
19e6: 80 91 02 01 lds r24, 0x0102 |
19ea: 90 91 03 01 lds r25, 0x0103 |
19ee: 01 97 sbiw r24, 0x01 ; 1 |
19f0: 90 93 03 01 sts 0x0103, r25 |
19f4: 80 93 02 01 sts 0x0102, r24 |
19f8: 80 91 02 01 lds r24, 0x0102 |
19fc: 90 91 03 01 lds r25, 0x0103 |
1a00: 8f 5f subi r24, 0xFF ; 255 |
1a02: 9f 4f sbci r25, 0xFF ; 255 |
1a04: 11 f5 brne .+68 ; 0x1a4a <__vector_18+0x100> |
1a06: 0e 94 36 15 call 0x2a6c ; 0x2a6c <MM3_heading> |
1a0a: 90 93 0b 02 sts 0x020B, r25 |
1a0e: 80 93 0a 02 sts 0x020A, r24 |
1a12: 80 91 0a 02 lds r24, 0x020A |
1a16: 90 91 0b 02 lds r25, 0x020B |
1a1a: 20 91 0c 02 lds r18, 0x020C |
1a1e: 30 91 0d 02 lds r19, 0x020D |
1a22: 82 1b sub r24, r18 |
1a24: 93 0b sbc r25, r19 |
1a26: 84 5e subi r24, 0xE4 ; 228 |
1a28: 9d 4f sbci r25, 0xFD ; 253 |
1a2a: 68 e6 ldi r22, 0x68 ; 104 |
1a2c: 71 e0 ldi r23, 0x01 ; 1 |
1a2e: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
1a32: 84 5b subi r24, 0xB4 ; 180 |
1a34: 90 40 sbci r25, 0x00 ; 0 |
1a36: 90 93 0f 02 sts 0x020F, r25 |
1a3a: 80 93 0e 02 sts 0x020E, r24 |
1a3e: 80 e2 ldi r24, 0x20 ; 32 |
1a40: 93 e0 ldi r25, 0x03 ; 3 |
1a42: 90 93 03 01 sts 0x0103, r25 |
1a46: 80 93 02 01 sts 0x0102, r24 |
1a4a: ff 91 pop r31 |
1a4c: ef 91 pop r30 |
1a4e: bf 91 pop r27 |
1a50: af 91 pop r26 |
1a52: 9f 91 pop r25 |
1a54: 8f 91 pop r24 |
1a56: 7f 91 pop r23 |
1a58: 6f 91 pop r22 |
1a5a: 5f 91 pop r21 |
1a5c: 4f 91 pop r20 |
1a5e: 3f 91 pop r19 |
1a60: 2f 91 pop r18 |
1a62: 0f 90 pop r0 |
1a64: 0f be out 0x3f, r0 ; 63 |
1a66: 0f 90 pop r0 |
1a68: 1f 90 pop r1 |
1a6a: 18 95 reti |
00001a6c <Timer_Init>: |
1a6c: 80 91 a3 01 lds r24, 0x01A3 |
1a70: 90 91 a4 01 lds r25, 0x01A4 |
1a74: 0b 96 adiw r24, 0x0b ; 11 |
1a76: 90 93 ac 01 sts 0x01AC, r25 |
1a7a: 80 93 ab 01 sts 0x01AB, r24 |
1a7e: 82 e0 ldi r24, 0x02 ; 2 |
1a80: 85 bd out 0x25, r24 ; 37 |
1a82: 83 ea ldi r24, 0xA3 ; 163 |
1a84: 84 bd out 0x24, r24 ; 36 |
1a86: 17 bc out 0x27, r1 ; 39 |
1a88: 88 e7 ldi r24, 0x78 ; 120 |
1a8a: 88 bd out 0x28, r24 ; 40 |
1a8c: 83 ec ldi r24, 0xC3 ; 195 |
1a8e: 80 93 b0 00 sts 0x00B0, r24 |
1a92: 86 e0 ldi r24, 0x06 ; 6 |
1a94: 80 93 b1 00 sts 0x00B1, r24 |
1a98: e0 e7 ldi r30, 0x70 ; 112 |
1a9a: f0 e0 ldi r31, 0x00 ; 0 |
1a9c: 80 81 ld r24, Z |
1a9e: 82 60 ori r24, 0x02 ; 2 |
1aa0: 80 83 st Z, r24 |
1aa2: ee e6 ldi r30, 0x6E ; 110 |
1aa4: f0 e0 ldi r31, 0x00 ; 0 |
1aa6: 80 81 ld r24, Z |
1aa8: 81 60 ori r24, 0x01 ; 1 |
1aaa: 80 83 st Z, r24 |
1aac: 8a e0 ldi r24, 0x0A ; 10 |
1aae: 80 93 b3 00 sts 0x00B3, r24 |
1ab2: 10 92 b2 00 sts 0x00B2, r1 |
1ab6: 08 95 ret |
00001ab8 <Delay_ms>: |
1ab8: 20 91 a3 01 lds r18, 0x01A3 |
1abc: 30 91 a4 01 lds r19, 0x01A4 |
1ac0: 2f 5f subi r18, 0xFF ; 255 |
1ac2: 3f 4f sbci r19, 0xFF ; 255 |
1ac4: 28 0f add r18, r24 |
1ac6: 39 1f adc r19, r25 |
1ac8: 80 91 a3 01 lds r24, 0x01A3 |
1acc: 90 91 a4 01 lds r25, 0x01A4 |
1ad0: a9 01 movw r20, r18 |
1ad2: 48 1b sub r20, r24 |
1ad4: 59 0b sbc r21, r25 |
1ad6: 57 ff sbrs r21, 7 |
1ad8: f7 cf rjmp .-18 ; 0x1ac8 <Delay_ms+0x10> |
1ada: 08 95 ret |
00001adc <ADC_Init>: |
1adc: 10 92 7c 00 sts 0x007C, r1 |
1ae0: 8f ee ldi r24, 0xEF ; 239 |
1ae2: 80 93 7a 00 sts 0x007A, r24 |
1ae6: 08 95 ret |
00001ae8 <__vector_24>: |
1ae8: 1f 92 push r1 |
1aea: 0f 92 push r0 |
1aec: 0f b6 in r0, 0x3f ; 63 |
1aee: 0f 92 push r0 |
1af0: 11 24 eor r1, r1 |
1af2: ef 92 push r14 |
1af4: ff 92 push r15 |
1af6: 0f 93 push r16 |
1af8: 1f 93 push r17 |
1afa: 2f 93 push r18 |
1afc: 3f 93 push r19 |
1afe: 4f 93 push r20 |
1b00: 5f 93 push r21 |
1b02: 6f 93 push r22 |
1b04: 7f 93 push r23 |
1b06: 8f 93 push r24 |
1b08: 9f 93 push r25 |
1b0a: af 93 push r26 |
1b0c: bf 93 push r27 |
1b0e: cf 93 push r28 |
1b10: df 93 push r29 |
1b12: ef 93 push r30 |
1b14: ff 93 push r31 |
1b16: 10 92 7a 00 sts 0x007A, r1 |
1b1a: 80 91 c3 01 lds r24, 0x01C3 |
1b1e: 8f 5f subi r24, 0xFF ; 255 |
1b20: 80 93 c3 01 sts 0x01C3, r24 |
1b24: 81 50 subi r24, 0x01 ; 1 |
1b26: e8 2f mov r30, r24 |
1b28: ff 27 eor r31, r31 |
1b2a: e8 30 cpi r30, 0x08 ; 8 |
1b2c: f1 05 cpc r31, r1 |
1b2e: 08 f0 brcs .+2 ; 0x1b32 <__vector_24+0x4a> |
1b30: b6 c2 rjmp .+1388 ; 0x209e <__vector_24+0x5b6> |
1b32: e4 5b subi r30, 0xB4 ; 180 |
1b34: ff 4f sbci r31, 0xFF ; 255 |
1b36: 0c 94 f2 2e jmp 0x5de4 ; 0x5de4 <__tablejump2__> |
1b3a: 20 91 d6 01 lds r18, 0x01D6 |
1b3e: 30 91 d7 01 lds r19, 0x01D7 |
1b42: 80 91 78 00 lds r24, 0x0078 |
1b46: 90 91 79 00 lds r25, 0x0079 |
1b4a: 28 1b sub r18, r24 |
1b4c: 39 0b sbc r19, r25 |
1b4e: 80 91 b1 01 lds r24, 0x01B1 |
1b52: 90 91 b2 01 lds r25, 0x01B2 |
1b56: 82 0f add r24, r18 |
1b58: 93 1f adc r25, r19 |
1b5a: 90 93 b2 01 sts 0x01B2, r25 |
1b5e: 80 93 b1 01 sts 0x01B1, r24 |
1b62: 80 91 bb 01 lds r24, 0x01BB |
1b66: 8f 5f subi r24, 0xFF ; 255 |
1b68: 80 93 bb 01 sts 0x01BB, r24 |
1b6c: 80 91 fe 01 lds r24, 0x01FE |
1b70: 90 91 ff 01 lds r25, 0x01FF |
1b74: a0 91 00 02 lds r26, 0x0200 |
1b78: b0 91 01 02 lds r27, 0x0201 |
1b7c: 44 27 eor r20, r20 |
1b7e: 37 fd sbrc r19, 7 |
1b80: 40 95 com r20 |
1b82: 54 2f mov r21, r20 |
1b84: 82 0f add r24, r18 |
1b86: 93 1f adc r25, r19 |
1b88: a4 1f adc r26, r20 |
1b8a: b5 1f adc r27, r21 |
1b8c: 80 93 fe 01 sts 0x01FE, r24 |
1b90: 90 93 ff 01 sts 0x01FF, r25 |
1b94: a0 93 00 02 sts 0x0200, r26 |
1b98: b0 93 01 02 sts 0x0201, r27 |
1b9c: 80 91 02 02 lds r24, 0x0202 |
1ba0: 90 91 03 02 lds r25, 0x0203 |
1ba4: a0 91 04 02 lds r26, 0x0204 |
1ba8: b0 91 05 02 lds r27, 0x0205 |
1bac: 82 0f add r24, r18 |
1bae: 93 1f adc r25, r19 |
1bb0: a4 1f adc r26, r20 |
1bb2: b5 1f adc r27, r21 |
1bb4: 80 93 02 02 sts 0x0202, r24 |
1bb8: 90 93 03 02 sts 0x0203, r25 |
1bbc: a0 93 04 02 sts 0x0204, r26 |
1bc0: b0 93 05 02 sts 0x0205, r27 |
1bc4: 81 e0 ldi r24, 0x01 ; 1 |
1bc6: 80 93 c4 01 sts 0x01C4, r24 |
1bca: 80 91 c1 01 lds r24, 0x01C1 |
1bce: 90 91 c2 01 lds r25, 0x01C2 |
1bd2: 01 96 adiw r24, 0x01 ; 1 |
1bd4: 90 93 c2 01 sts 0x01C2, r25 |
1bd8: 80 93 c1 01 sts 0x01C1, r24 |
1bdc: 64 c2 rjmp .+1224 ; 0x20a6 <__vector_24+0x5be> |
1bde: 60 91 78 00 lds r22, 0x0078 |
1be2: 70 91 79 00 lds r23, 0x0079 |
1be6: 80 91 d4 01 lds r24, 0x01D4 |
1bea: 90 91 d5 01 lds r25, 0x01D5 |
1bee: 68 1b sub r22, r24 |
1bf0: 79 0b sbc r23, r25 |
1bf2: 80 91 f6 01 lds r24, 0x01F6 |
1bf6: 90 91 f7 01 lds r25, 0x01F7 |
1bfa: a0 91 f8 01 lds r26, 0x01F8 |
1bfe: b0 91 f9 01 lds r27, 0x01F9 |
1c02: 9b 01 movw r18, r22 |
1c04: 44 27 eor r20, r20 |
1c06: 37 fd sbrc r19, 7 |
1c08: 40 95 com r20 |
1c0a: 54 2f mov r21, r20 |
1c0c: 82 0f add r24, r18 |
1c0e: 93 1f adc r25, r19 |
1c10: a4 1f adc r26, r20 |
1c12: b5 1f adc r27, r21 |
1c14: 80 93 f6 01 sts 0x01F6, r24 |
1c18: 90 93 f7 01 sts 0x01F7, r25 |
1c1c: a0 93 f8 01 sts 0x01F8, r26 |
1c20: b0 93 f9 01 sts 0x01F9, r27 |
1c24: 80 91 fa 01 lds r24, 0x01FA |
1c28: 90 91 fb 01 lds r25, 0x01FB |
1c2c: a0 91 fc 01 lds r26, 0x01FC |
1c30: b0 91 fd 01 lds r27, 0x01FD |
1c34: 82 0f add r24, r18 |
1c36: 93 1f adc r25, r19 |
1c38: a4 1f adc r26, r20 |
1c3a: b5 1f adc r27, r21 |
1c3c: 80 93 fa 01 sts 0x01FA, r24 |
1c40: 90 93 fb 01 sts 0x01FB, r25 |
1c44: a0 93 fc 01 sts 0x01FC, r26 |
1c48: b0 93 fd 01 sts 0x01FD, r27 |
1c4c: 80 91 78 00 lds r24, 0x0078 |
1c50: 90 91 79 00 lds r25, 0x0079 |
1c54: 0a 97 sbiw r24, 0x0a ; 10 |
1c56: 10 f4 brcc .+4 ; 0x1c5c <__vector_24+0x174> |
1c58: 64 e4 ldi r22, 0x44 ; 68 |
1c5a: 7d ef ldi r23, 0xFD ; 253 |
1c5c: 80 91 78 00 lds r24, 0x0078 |
1c60: 90 91 79 00 lds r25, 0x0079 |
1c64: 89 5e subi r24, 0xE9 ; 233 |
1c66: 93 40 sbci r25, 0x03 ; 3 |
1c68: 10 f0 brcs .+4 ; 0x1c6e <__vector_24+0x186> |
1c6a: 6c eb ldi r22, 0xBC ; 188 |
1c6c: 72 e0 ldi r23, 0x02 ; 2 |
1c6e: 80 91 af 01 lds r24, 0x01AF |
1c72: 90 91 b0 01 lds r25, 0x01B0 |
1c76: 86 0f add r24, r22 |
1c78: 97 1f adc r25, r23 |
1c7a: 90 93 b0 01 sts 0x01B0, r25 |
1c7e: 80 93 af 01 sts 0x01AF, r24 |
1c82: 80 91 ba 01 lds r24, 0x01BA |
1c86: 8f 5f subi r24, 0xFF ; 255 |
1c88: 80 93 ba 01 sts 0x01BA, r24 |
1c8c: 82 e0 ldi r24, 0x02 ; 2 |
1c8e: 58 c0 rjmp .+176 ; 0x1d40 <__vector_24+0x258> |
1c90: 60 91 78 00 lds r22, 0x0078 |
1c94: 70 91 79 00 lds r23, 0x0079 |
1c98: 80 91 d2 01 lds r24, 0x01D2 |
1c9c: 90 91 d3 01 lds r25, 0x01D3 |
1ca0: 68 1b sub r22, r24 |
1ca2: 79 0b sbc r23, r25 |
1ca4: 80 91 ee 01 lds r24, 0x01EE |
1ca8: 90 91 ef 01 lds r25, 0x01EF |
1cac: a0 91 f0 01 lds r26, 0x01F0 |
1cb0: b0 91 f1 01 lds r27, 0x01F1 |
1cb4: 9b 01 movw r18, r22 |
1cb6: 44 27 eor r20, r20 |
1cb8: 37 fd sbrc r19, 7 |
1cba: 40 95 com r20 |
1cbc: 54 2f mov r21, r20 |
1cbe: 82 0f add r24, r18 |
1cc0: 93 1f adc r25, r19 |
1cc2: a4 1f adc r26, r20 |
1cc4: b5 1f adc r27, r21 |
1cc6: 80 93 ee 01 sts 0x01EE, r24 |
1cca: 90 93 ef 01 sts 0x01EF, r25 |
1cce: a0 93 f0 01 sts 0x01F0, r26 |
1cd2: b0 93 f1 01 sts 0x01F1, r27 |
1cd6: 80 91 f2 01 lds r24, 0x01F2 |
1cda: 90 91 f3 01 lds r25, 0x01F3 |
1cde: a0 91 f4 01 lds r26, 0x01F4 |
1ce2: b0 91 f5 01 lds r27, 0x01F5 |
1ce6: 82 0f add r24, r18 |
1ce8: 93 1f adc r25, r19 |
1cea: a4 1f adc r26, r20 |
1cec: b5 1f adc r27, r21 |
1cee: 80 93 f2 01 sts 0x01F2, r24 |
1cf2: 90 93 f3 01 sts 0x01F3, r25 |
1cf6: a0 93 f4 01 sts 0x01F4, r26 |
1cfa: b0 93 f5 01 sts 0x01F5, r27 |
1cfe: 80 91 78 00 lds r24, 0x0078 |
1d02: 90 91 79 00 lds r25, 0x0079 |
1d06: 0a 97 sbiw r24, 0x0a ; 10 |
1d08: 10 f4 brcc .+4 ; 0x1d0e <__vector_24+0x226> |
1d0a: 64 e4 ldi r22, 0x44 ; 68 |
1d0c: 7d ef ldi r23, 0xFD ; 253 |
1d0e: 80 91 78 00 lds r24, 0x0078 |
1d12: 90 91 79 00 lds r25, 0x0079 |
1d16: 89 5e subi r24, 0xE9 ; 233 |
1d18: 93 40 sbci r25, 0x03 ; 3 |
1d1a: 10 f0 brcs .+4 ; 0x1d20 <__vector_24+0x238> |
1d1c: 6c eb ldi r22, 0xBC ; 188 |
1d1e: 72 e0 ldi r23, 0x02 ; 2 |
1d20: 80 91 ad 01 lds r24, 0x01AD |
1d24: 90 91 ae 01 lds r25, 0x01AE |
1d28: 86 0f add r24, r22 |
1d2a: 97 1f adc r25, r23 |
1d2c: 90 93 ae 01 sts 0x01AE, r25 |
1d30: 80 93 ad 01 sts 0x01AD, r24 |
1d34: 80 91 b9 01 lds r24, 0x01B9 |
1d38: 8f 5f subi r24, 0xFF ; 255 |
1d3a: 80 93 b9 01 sts 0x01B9, r24 |
1d3e: 84 e0 ldi r24, 0x04 ; 4 |
1d40: 80 93 c4 01 sts 0x01C4, r24 |
1d44: b0 c1 rjmp .+864 ; 0x20a6 <__vector_24+0x5be> |
1d46: 40 91 06 01 lds r20, 0x0106 |
1d4a: 50 91 07 01 lds r21, 0x0107 |
1d4e: 80 91 78 00 lds r24, 0x0078 |
1d52: 90 91 79 00 lds r25, 0x0079 |
1d56: 9a 01 movw r18, r20 |
1d58: 22 0f add r18, r18 |
1d5a: 33 1f adc r19, r19 |
1d5c: 24 0f add r18, r20 |
1d5e: 35 1f adc r19, r21 |
1d60: 63 e0 ldi r22, 0x03 ; 3 |
1d62: 70 e0 ldi r23, 0x00 ; 0 |
1d64: 0e 94 57 2e call 0x5cae ; 0x5cae <__udivmodhi4> |
1d68: 26 0f add r18, r22 |
1d6a: 37 1f adc r19, r23 |
1d6c: 36 95 lsr r19 |
1d6e: 27 95 ror r18 |
1d70: 36 95 lsr r19 |
1d72: 27 95 ror r18 |
1d74: 30 93 07 01 sts 0x0107, r19 |
1d78: 20 93 06 01 sts 0x0106, r18 |
1d7c: 86 e0 ldi r24, 0x06 ; 6 |
1d7e: e0 cf rjmp .-64 ; 0x1d40 <__vector_24+0x258> |
1d80: 20 91 78 00 lds r18, 0x0078 |
1d84: 30 91 79 00 lds r19, 0x0079 |
1d88: 80 91 23 05 lds r24, 0x0523 |
1d8c: 90 91 24 05 lds r25, 0x0524 |
1d90: 82 1b sub r24, r18 |
1d92: 93 0b sbc r25, r19 |
1d94: 90 93 80 04 sts 0x0480, r25 |
1d98: 80 93 7f 04 sts 0x047F, r24 |
1d9c: 80 91 b3 01 lds r24, 0x01B3 |
1da0: 90 91 b4 01 lds r25, 0x01B4 |
1da4: 20 91 7f 04 lds r18, 0x047F |
1da8: 30 91 80 04 lds r19, 0x0480 |
1dac: 82 0f add r24, r18 |
1dae: 93 1f adc r25, r19 |
1db0: 90 93 b4 01 sts 0x01B4, r25 |
1db4: 80 93 b3 01 sts 0x01B3, r24 |
1db8: 80 91 bd 01 lds r24, 0x01BD |
1dbc: 8f 5f subi r24, 0xFF ; 255 |
1dbe: 80 93 bd 01 sts 0x01BD, r24 |
1dc2: 87 e0 ldi r24, 0x07 ; 7 |
1dc4: bd cf rjmp .-134 ; 0x1d40 <__vector_24+0x258> |
1dc6: 80 91 78 00 lds r24, 0x0078 |
1dca: 90 91 79 00 lds r25, 0x0079 |
1dce: 20 91 21 05 lds r18, 0x0521 |
1dd2: 30 91 22 05 lds r19, 0x0522 |
1dd6: 82 1b sub r24, r18 |
1dd8: 93 0b sbc r25, r19 |
1dda: 90 93 8b 04 sts 0x048B, r25 |
1dde: 80 93 8a 04 sts 0x048A, r24 |
1de2: 80 91 b5 01 lds r24, 0x01B5 |
1de6: 90 91 b6 01 lds r25, 0x01B6 |
1dea: 20 91 8a 04 lds r18, 0x048A |
1dee: 30 91 8b 04 lds r19, 0x048B |
1df2: 82 0f add r24, r18 |
1df4: 93 1f adc r25, r19 |
1df6: 90 93 b6 01 sts 0x01B6, r25 |
1dfa: 80 93 b5 01 sts 0x01B5, r24 |
1dfe: 80 91 bc 01 lds r24, 0x01BC |
1e02: 8f 5f subi r24, 0xFF ; 255 |
1e04: 80 93 bc 01 sts 0x01BC, r24 |
1e08: 85 e0 ldi r24, 0x05 ; 5 |
1e0a: 80 93 c4 01 sts 0x01C4, r24 |
1e0e: 86 e0 ldi r24, 0x06 ; 6 |
1e10: cb c0 rjmp .+406 ; 0x1fa8 <__vector_24+0x4c0> |
1e12: 60 91 78 00 lds r22, 0x0078 |
1e16: 70 91 79 00 lds r23, 0x0079 |
1e1a: e0 90 25 05 lds r14, 0x0525 |
1e1e: f0 90 26 05 lds r15, 0x0526 |
1e22: 00 91 27 05 lds r16, 0x0527 |
1e26: 10 91 28 05 lds r17, 0x0528 |
1e2a: 88 27 eor r24, r24 |
1e2c: 77 fd sbrc r23, 7 |
1e2e: 80 95 com r24 |
1e30: 98 2f mov r25, r24 |
1e32: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
1e36: a8 01 movw r20, r16 |
1e38: 97 01 movw r18, r14 |
1e3a: 0e 94 d0 2c call 0x59a0 ; 0x59a0 <__subsf3> |
1e3e: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
1e42: 70 93 b8 01 sts 0x01B8, r23 |
1e46: 60 93 b7 01 sts 0x01B7, r22 |
1e4a: 20 91 b7 01 lds r18, 0x01B7 |
1e4e: 30 91 b8 01 lds r19, 0x01B8 |
1e52: e0 91 7f 04 lds r30, 0x047F |
1e56: f0 91 80 04 lds r31, 0x0480 |
1e5a: 80 91 8a 04 lds r24, 0x048A |
1e5e: 90 91 8b 04 lds r25, 0x048B |
1e62: 97 ff sbrs r25, 7 |
1e64: 03 c0 rjmp .+6 ; 0x1e6c <__vector_24+0x384> |
1e66: 90 95 com r25 |
1e68: 81 95 neg r24 |
1e6a: 9f 4f sbci r25, 0xFF ; 255 |
1e6c: 64 e0 ldi r22, 0x04 ; 4 |
1e6e: 70 e0 ldi r23, 0x00 ; 0 |
1e70: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
1e74: eb 01 movw r28, r22 |
1e76: cf 01 movw r24, r30 |
1e78: f7 ff sbrs r31, 7 |
1e7a: 03 c0 rjmp .+6 ; 0x1e82 <__vector_24+0x39a> |
1e7c: 90 95 com r25 |
1e7e: 81 95 neg r24 |
1e80: 9f 4f sbci r25, 0xFF ; 255 |
1e82: 64 e0 ldi r22, 0x04 ; 4 |
1e84: 70 e0 ldi r23, 0x00 ; 0 |
1e86: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
1e8a: 26 0f add r18, r22 |
1e8c: 37 1f adc r19, r23 |
1e8e: 2c 0f add r18, r28 |
1e90: 3d 1f adc r19, r29 |
1e92: 30 93 b8 01 sts 0x01B8, r19 |
1e96: 20 93 b7 01 sts 0x01B7, r18 |
1e9a: 80 91 b7 01 lds r24, 0x01B7 |
1e9e: 90 91 b8 01 lds r25, 0x01B8 |
1ea2: 02 97 sbiw r24, 0x02 ; 2 |
1ea4: 9c f0 brlt .+38 ; 0x1ecc <__vector_24+0x3e4> |
1ea6: 20 e0 ldi r18, 0x00 ; 0 |
1ea8: 30 e0 ldi r19, 0x00 ; 0 |
1eaa: 48 e4 ldi r20, 0x48 ; 72 |
1eac: 54 e4 ldi r21, 0x44 ; 68 |
1eae: c8 01 movw r24, r16 |
1eb0: b7 01 movw r22, r14 |
1eb2: 0e 94 80 2d call 0x5b00 ; 0x5b00 <__eqsf2> |
1eb6: 88 23 and r24, r24 |
1eb8: 54 f5 brge .+84 ; 0x1f0e <__vector_24+0x426> |
1eba: 2a e0 ldi r18, 0x0A ; 10 |
1ebc: 37 ed ldi r19, 0xD7 ; 215 |
1ebe: 43 ea ldi r20, 0xA3 ; 163 |
1ec0: 5c e3 ldi r21, 0x3C ; 60 |
1ec2: c8 01 movw r24, r16 |
1ec4: b7 01 movw r22, r14 |
1ec6: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
1eca: 19 c0 rjmp .+50 ; 0x1efe <__vector_24+0x416> |
1ecc: 80 91 b7 01 lds r24, 0x01B7 |
1ed0: 90 91 b8 01 lds r25, 0x01B8 |
1ed4: 8f 5f subi r24, 0xFF ; 255 |
1ed6: 9f 4f sbci r25, 0xFF ; 255 |
1ed8: d4 f4 brge .+52 ; 0x1f0e <__vector_24+0x426> |
1eda: 20 e0 ldi r18, 0x00 ; 0 |
1edc: 30 e0 ldi r19, 0x00 ; 0 |
1ede: 46 e1 ldi r20, 0x16 ; 22 |
1ee0: 54 e4 ldi r21, 0x44 ; 68 |
1ee2: c8 01 movw r24, r16 |
1ee4: b7 01 movw r22, r14 |
1ee6: 0e 94 83 2d call 0x5b06 ; 0x5b06 <__gesf2> |
1eea: 18 16 cp r1, r24 |
1eec: 84 f4 brge .+32 ; 0x1f0e <__vector_24+0x426> |
1eee: 2a e0 ldi r18, 0x0A ; 10 |
1ef0: 37 ed ldi r19, 0xD7 ; 215 |
1ef2: 43 ea ldi r20, 0xA3 ; 163 |
1ef4: 5c e3 ldi r21, 0x3C ; 60 |
1ef6: c8 01 movw r24, r16 |
1ef8: b7 01 movw r22, r14 |
1efa: 0e 94 d0 2c call 0x59a0 ; 0x59a0 <__subsf3> |
1efe: 60 93 25 05 sts 0x0525, r22 |
1f02: 70 93 26 05 sts 0x0526, r23 |
1f06: 80 93 27 05 sts 0x0527, r24 |
1f0a: 90 93 28 05 sts 0x0528, r25 |
1f0e: 81 e0 ldi r24, 0x01 ; 1 |
1f10: 80 93 be 01 sts 0x01BE, r24 |
1f14: 80 91 78 00 lds r24, 0x0078 |
1f18: 90 91 79 00 lds r25, 0x0079 |
1f1c: 90 93 82 04 sts 0x0482, r25 |
1f20: 80 93 81 04 sts 0x0481, r24 |
1f24: 20 91 06 02 lds r18, 0x0206 |
1f28: 30 91 07 02 lds r19, 0x0207 |
1f2c: 40 91 08 02 lds r20, 0x0208 |
1f30: 50 91 09 02 lds r21, 0x0209 |
1f34: 80 91 b7 01 lds r24, 0x01B7 |
1f38: 90 91 b8 01 lds r25, 0x01B8 |
1f3c: aa 27 eor r26, r26 |
1f3e: 97 fd sbrc r25, 7 |
1f40: a0 95 com r26 |
1f42: ba 2f mov r27, r26 |
1f44: 28 0f add r18, r24 |
1f46: 39 1f adc r19, r25 |
1f48: 4a 1f adc r20, r26 |
1f4a: 5b 1f adc r21, r27 |
1f4c: 20 93 06 02 sts 0x0206, r18 |
1f50: 30 93 07 02 sts 0x0207, r19 |
1f54: 40 93 08 02 sts 0x0208, r20 |
1f58: 50 93 09 02 sts 0x0209, r21 |
1f5c: e0 90 06 02 lds r14, 0x0206 |
1f60: f0 90 07 02 lds r15, 0x0207 |
1f64: 00 91 08 02 lds r16, 0x0208 |
1f68: 10 91 09 02 lds r17, 0x0209 |
1f6c: 60 91 06 02 lds r22, 0x0206 |
1f70: 70 91 07 02 lds r23, 0x0207 |
1f74: 80 91 08 02 lds r24, 0x0208 |
1f78: 90 91 09 02 lds r25, 0x0209 |
1f7c: 20 e0 ldi r18, 0x00 ; 0 |
1f7e: 34 e0 ldi r19, 0x04 ; 4 |
1f80: 40 e0 ldi r20, 0x00 ; 0 |
1f82: 50 e0 ldi r21, 0x00 ; 0 |
1f84: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
1f88: e2 1a sub r14, r18 |
1f8a: f3 0a sbc r15, r19 |
1f8c: 04 0b sbc r16, r20 |
1f8e: 15 0b sbc r17, r21 |
1f90: e0 92 06 02 sts 0x0206, r14 |
1f94: f0 92 07 02 sts 0x0207, r15 |
1f98: 00 93 08 02 sts 0x0208, r16 |
1f9c: 10 93 09 02 sts 0x0209, r17 |
1fa0: 83 e0 ldi r24, 0x03 ; 3 |
1fa2: 80 93 c4 01 sts 0x01C4, r24 |
1fa6: 87 e0 ldi r24, 0x07 ; 7 |
1fa8: 80 93 c3 01 sts 0x01C3, r24 |
1fac: 7c c0 rjmp .+248 ; 0x20a6 <__vector_24+0x5be> |
1fae: 80 91 8f 04 lds r24, 0x048F |
1fb2: 90 91 90 04 lds r25, 0x0490 |
1fb6: 20 91 78 00 lds r18, 0x0078 |
1fba: 30 91 79 00 lds r19, 0x0079 |
1fbe: 82 0f add r24, r18 |
1fc0: 93 1f adc r25, r19 |
1fc2: 90 93 90 04 sts 0x0490, r25 |
1fc6: 80 93 8f 04 sts 0x048F, r24 |
1fca: 80 91 87 04 lds r24, 0x0487 |
1fce: 8f 5f subi r24, 0xFF ; 255 |
1fd0: 80 93 87 04 sts 0x0487, r24 |
1fd4: 80 91 87 04 lds r24, 0x0487 |
1fd8: 85 30 cpi r24, 0x05 ; 5 |
1fda: 08 f4 brcc .+2 ; 0x1fde <__vector_24+0x4f6> |
1fdc: 60 c0 rjmp .+192 ; 0x209e <__vector_24+0x5b6> |
1fde: 80 91 78 00 lds r24, 0x0078 |
1fe2: 90 91 79 00 lds r25, 0x0079 |
1fe6: 90 93 0d 01 sts 0x010D, r25 |
1fea: 80 93 0c 01 sts 0x010C, r24 |
1fee: 10 92 87 04 sts 0x0487, r1 |
1ff2: 80 91 83 04 lds r24, 0x0483 |
1ff6: 90 91 84 04 lds r25, 0x0484 |
1ffa: 20 91 8f 04 lds r18, 0x048F |
1ffe: 30 91 90 04 lds r19, 0x0490 |
2002: 82 1b sub r24, r18 |
2004: 93 0b sbc r25, r19 |
2006: 20 91 22 02 lds r18, 0x0222 |
200a: 30 91 23 02 lds r19, 0x0223 |
200e: 82 1b sub r24, r18 |
2010: 93 0b sbc r25, r19 |
2012: 90 93 c0 01 sts 0x01C0, r25 |
2016: 80 93 bf 01 sts 0x01BF, r24 |
201a: 60 91 8f 04 lds r22, 0x048F |
201e: 70 91 90 04 lds r23, 0x0490 |
2022: e0 90 08 01 lds r14, 0x0108 |
2026: f0 90 09 01 lds r15, 0x0109 |
202a: 00 91 0a 01 lds r16, 0x010A |
202e: 10 91 0b 01 lds r17, 0x010B |
2032: 88 27 eor r24, r24 |
2034: 77 fd sbrc r23, 7 |
2036: 80 95 com r24 |
2038: 98 2f mov r25, r24 |
203a: a8 01 movw r20, r16 |
203c: 97 01 movw r18, r14 |
203e: 22 0f add r18, r18 |
2040: 33 1f adc r19, r19 |
2042: 44 1f adc r20, r20 |
2044: 55 1f adc r21, r21 |
2046: 2e 0d add r18, r14 |
2048: 3f 1d adc r19, r15 |
204a: 40 1f adc r20, r16 |
204c: 51 1f adc r21, r17 |
204e: 62 0f add r22, r18 |
2050: 73 1f adc r23, r19 |
2052: 84 1f adc r24, r20 |
2054: 95 1f adc r25, r21 |
2056: 24 e0 ldi r18, 0x04 ; 4 |
2058: 30 e0 ldi r19, 0x00 ; 0 |
205a: 40 e0 ldi r20, 0x00 ; 0 |
205c: 50 e0 ldi r21, 0x00 ; 0 |
205e: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
2062: 20 93 08 01 sts 0x0108, r18 |
2066: 30 93 09 01 sts 0x0109, r19 |
206a: 40 93 0a 01 sts 0x010A, r20 |
206e: 50 93 0b 01 sts 0x010B, r21 |
2072: 20 91 83 04 lds r18, 0x0483 |
2076: 30 91 84 04 lds r19, 0x0484 |
207a: 80 91 08 01 lds r24, 0x0108 |
207e: 90 91 09 01 lds r25, 0x0109 |
2082: a0 91 0a 01 lds r26, 0x010A |
2086: b0 91 0b 01 lds r27, 0x010B |
208a: 28 1b sub r18, r24 |
208c: 39 0b sbc r19, r25 |
208e: 30 93 23 02 sts 0x0223, r19 |
2092: 20 93 22 02 sts 0x0222, r18 |
2096: 10 92 90 04 sts 0x0490, r1 |
209a: 10 92 8f 04 sts 0x048F, r1 |
209e: 10 92 c4 01 sts 0x01C4, r1 |
20a2: 10 92 c3 01 sts 0x01C3, r1 |
20a6: 80 91 c4 01 lds r24, 0x01C4 |
20aa: 80 93 7c 00 sts 0x007C, r24 |
20ae: 8f ee ldi r24, 0xEF ; 239 |
20b0: 80 93 7a 00 sts 0x007A, r24 |
20b4: ff 91 pop r31 |
20b6: ef 91 pop r30 |
20b8: df 91 pop r29 |
20ba: cf 91 pop r28 |
20bc: bf 91 pop r27 |
20be: af 91 pop r26 |
20c0: 9f 91 pop r25 |
20c2: 8f 91 pop r24 |
20c4: 7f 91 pop r23 |
20c6: 6f 91 pop r22 |
20c8: 5f 91 pop r21 |
20ca: 4f 91 pop r20 |
20cc: 3f 91 pop r19 |
20ce: 2f 91 pop r18 |
20d0: 1f 91 pop r17 |
20d2: 0f 91 pop r16 |
20d4: ff 90 pop r15 |
20d6: ef 90 pop r14 |
20d8: 0f 90 pop r0 |
20da: 0f be out 0x3f, r0 ; 63 |
20dc: 0f 90 pop r0 |
20de: 1f 90 pop r1 |
20e0: 18 95 reti |
000020e2 <SucheLuftruckOffset>: |
20e2: cf 93 push r28 |
20e4: df 93 push r29 |
20e6: c0 e0 ldi r28, 0x00 ; 0 |
20e8: d0 e0 ldi r29, 0x00 ; 0 |
20ea: c7 bd out 0x27, r28 ; 39 |
20ec: 82 e3 ldi r24, 0x32 ; 50 |
20ee: 90 e0 ldi r25, 0x00 ; 0 |
20f0: 0e 94 5c 0d call 0x1ab8 ; 0x1ab8 <Delay_ms> |
20f4: 89 ec ldi r24, 0xC9 ; 201 |
20f6: 91 e0 ldi r25, 0x01 ; 1 |
20f8: 9f 93 push r25 |
20fa: 8f 93 push r24 |
20fc: 1f 92 push r1 |
20fe: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2102: 80 91 0c 01 lds r24, 0x010C |
2106: 90 91 0d 01 lds r25, 0x010D |
210a: 0f 90 pop r0 |
210c: 0f 90 pop r0 |
210e: 0f 90 pop r0 |
2110: 84 58 subi r24, 0x84 ; 132 |
2112: 93 40 sbci r25, 0x03 ; 3 |
2114: 20 f0 brcs .+8 ; 0x211e <SucheLuftruckOffset+0x3c> |
2116: 21 96 adiw r28, 0x01 ; 1 |
2118: ca 3f cpi r28, 0xFA ; 250 |
211a: d1 05 cpc r29, r1 |
211c: 31 f7 brne .-52 ; 0x20ea <SucheLuftruckOffset+0x8> |
211e: c0 93 8c 04 sts 0x048C, r28 |
2122: 88 ec ldi r24, 0xC8 ; 200 |
2124: 90 e0 ldi r25, 0x00 ; 0 |
2126: 0e 94 5c 0d call 0x1ab8 ; 0x1ab8 <Delay_ms> |
212a: df 91 pop r29 |
212c: cf 91 pop r28 |
212e: 08 95 ret |
00002130 <LcdClear>: |
2130: e8 e1 ldi r30, 0x18 ; 24 |
2132: f1 e0 ldi r31, 0x01 ; 1 |
2134: 80 e2 ldi r24, 0x20 ; 32 |
2136: 81 93 st Z+, r24 |
2138: 91 e0 ldi r25, 0x01 ; 1 |
213a: e8 36 cpi r30, 0x68 ; 104 |
213c: f9 07 cpc r31, r25 |
213e: d9 f7 brne .-10 ; 0x2136 <LcdClear+0x6> |
2140: 08 95 ret |
00002142 <Menu>: |
2142: ff 92 push r15 |
2144: 0f 93 push r16 |
2146: 1f 93 push r17 |
2148: 80 91 c8 01 lds r24, 0x01C8 |
214c: 28 2f mov r18, r24 |
214e: 33 27 eor r19, r19 |
2150: c9 01 movw r24, r18 |
2152: 81 70 andi r24, 0x01 ; 1 |
2154: 90 70 andi r25, 0x00 ; 0 |
2156: 68 2f mov r22, r24 |
2158: 88 23 and r24, r24 |
215a: 91 f0 breq .+36 ; 0x2180 <Menu+0x3e> |
215c: 80 91 c9 01 lds r24, 0x01C9 |
2160: 88 23 and r24, r24 |
2162: 11 f0 breq .+4 ; 0x2168 <Menu+0x26> |
2164: 81 50 subi r24, 0x01 ; 1 |
2166: 02 c0 rjmp .+4 ; 0x216c <Menu+0x2a> |
2168: 80 91 68 01 lds r24, 0x0168 |
216c: 80 93 c9 01 sts 0x01C9, r24 |
2170: e8 e1 ldi r30, 0x18 ; 24 |
2172: f1 e0 ldi r31, 0x01 ; 1 |
2174: 80 e2 ldi r24, 0x20 ; 32 |
2176: 81 93 st Z+, r24 |
2178: 91 e0 ldi r25, 0x01 ; 1 |
217a: e8 36 cpi r30, 0x68 ; 104 |
217c: f9 07 cpc r31, r25 |
217e: d9 f7 brne .-10 ; 0x2176 <Menu+0x34> |
2180: a9 01 movw r20, r18 |
2182: 42 70 andi r20, 0x02 ; 2 |
2184: 50 70 andi r21, 0x00 ; 0 |
2186: 21 ff sbrs r18, 1 |
2188: 0d c0 rjmp .+26 ; 0x21a4 <Menu+0x62> |
218a: 80 91 c9 01 lds r24, 0x01C9 |
218e: 8f 5f subi r24, 0xFF ; 255 |
2190: 80 93 c9 01 sts 0x01C9, r24 |
2194: e8 e1 ldi r30, 0x18 ; 24 |
2196: f1 e0 ldi r31, 0x01 ; 1 |
2198: 80 e2 ldi r24, 0x20 ; 32 |
219a: 81 93 st Z+, r24 |
219c: 91 e0 ldi r25, 0x01 ; 1 |
219e: e8 36 cpi r30, 0x68 ; 104 |
21a0: f9 07 cpc r31, r25 |
21a2: d9 f7 brne .-10 ; 0x219a <Menu+0x58> |
21a4: 66 23 and r22, r22 |
21a6: 21 f0 breq .+8 ; 0x21b0 <Menu+0x6e> |
21a8: 45 2b or r20, r21 |
21aa: 11 f0 breq .+4 ; 0x21b0 <Menu+0x6e> |
21ac: 10 92 c9 01 sts 0x01C9, r1 |
21b0: 81 e1 ldi r24, 0x11 ; 17 |
21b2: 80 93 c7 01 sts 0x01C7, r24 |
21b6: 80 91 c9 01 lds r24, 0x01C9 |
21ba: 99 27 eor r25, r25 |
21bc: 9f 93 push r25 |
21be: 8f 93 push r24 |
21c0: 82 e7 ldi r24, 0x72 ; 114 |
21c2: 94 e0 ldi r25, 0x04 ; 4 |
21c4: 9f 93 push r25 |
21c6: 8f 93 push r24 |
21c8: 81 e0 ldi r24, 0x01 ; 1 |
21ca: 8f 93 push r24 |
21cc: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
21d0: 80 91 c9 01 lds r24, 0x01C9 |
21d4: 0f 90 pop r0 |
21d6: 0f 90 pop r0 |
21d8: 0f 90 pop r0 |
21da: 0f 90 pop r0 |
21dc: 0f 90 pop r0 |
21de: e8 2f mov r30, r24 |
21e0: ff 27 eor r31, r31 |
21e2: ec 30 cpi r30, 0x0C ; 12 |
21e4: f1 05 cpc r31, r1 |
21e6: 08 f0 brcs .+2 ; 0x21ea <Menu+0xa8> |
21e8: 86 c3 rjmp .+1804 ; 0x28f6 <Menu+0x7b4> |
21ea: ec 5a subi r30, 0xAC ; 172 |
21ec: ff 4f sbci r31, 0xFF ; 255 |
21ee: 0c 94 f2 2e jmp 0x5de4 ; 0x5de4 <__tablejump2__> |
21f2: 10 92 c7 01 sts 0x01C7, r1 |
21f6: 80 e6 ldi r24, 0x60 ; 96 |
21f8: 94 e0 ldi r25, 0x04 ; 4 |
21fa: 9f 93 push r25 |
21fc: 8f 93 push r24 |
21fe: 11 e0 ldi r17, 0x01 ; 1 |
2200: 1f 93 push r17 |
2202: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2206: 84 e1 ldi r24, 0x14 ; 20 |
2208: 80 93 c7 01 sts 0x01C7, r24 |
220c: 8c e3 ldi r24, 0x3C ; 60 |
220e: 90 e0 ldi r25, 0x00 ; 0 |
2210: 9f 93 push r25 |
2212: 8f 93 push r24 |
2214: 1f 92 push r1 |
2216: 1f 92 push r1 |
2218: 89 e5 ldi r24, 0x59 ; 89 |
221a: 94 e0 ldi r25, 0x04 ; 4 |
221c: 9f 93 push r25 |
221e: 8f 93 push r24 |
2220: 1f 93 push r17 |
2222: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2226: 88 e2 ldi r24, 0x28 ; 40 |
2228: 80 93 c7 01 sts 0x01C7, r24 |
222c: 0e 94 fc 03 call 0x7f8 ; 0x7f8 <GetActiveParamSetNumber> |
2230: 99 27 eor r25, r25 |
2232: 9f 93 push r25 |
2234: 8f 93 push r24 |
2236: 8c e4 ldi r24, 0x4C ; 76 |
2238: 94 e0 ldi r25, 0x04 ; 4 |
223a: 9f 93 push r25 |
223c: 8f 93 push r24 |
223e: 1f 93 push r17 |
2240: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2244: 8c e3 ldi r24, 0x3C ; 60 |
2246: 80 93 c7 01 sts 0x01C7, r24 |
224a: 8c e3 ldi r24, 0x3C ; 60 |
224c: 94 e0 ldi r25, 0x04 ; 4 |
224e: 9f 93 push r25 |
2250: 8f 93 push r24 |
2252: 1f 93 push r17 |
2254: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2258: 4a c3 rjmp .+1684 ; 0x28ee <Menu+0x7ac> |
225a: 80 91 e4 04 lds r24, 0x04E4 |
225e: 80 ff sbrs r24, 0 |
2260: 44 c0 rjmp .+136 ; 0x22ea <Menu+0x1a8> |
2262: 10 92 c7 01 sts 0x01C7, r1 |
2266: 80 91 22 02 lds r24, 0x0222 |
226a: 90 91 23 02 lds r25, 0x0223 |
226e: 9f 93 push r25 |
2270: 8f 93 push r24 |
2272: 8d e2 ldi r24, 0x2D ; 45 |
2274: 94 e0 ldi r25, 0x04 ; 4 |
2276: 9f 93 push r25 |
2278: 8f 93 push r24 |
227a: 11 e0 ldi r17, 0x01 ; 1 |
227c: 1f 93 push r17 |
227e: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2282: 84 e1 ldi r24, 0x14 ; 20 |
2284: 80 93 c7 01 sts 0x01C7, r24 |
2288: 80 91 24 02 lds r24, 0x0224 |
228c: 90 91 25 02 lds r25, 0x0225 |
2290: 9f 93 push r25 |
2292: 8f 93 push r24 |
2294: 8e e1 ldi r24, 0x1E ; 30 |
2296: 94 e0 ldi r25, 0x04 ; 4 |
2298: 9f 93 push r25 |
229a: 8f 93 push r24 |
229c: 1f 93 push r17 |
229e: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
22a2: 88 e2 ldi r24, 0x28 ; 40 |
22a4: 80 93 c7 01 sts 0x01C7, r24 |
22a8: 80 91 0c 01 lds r24, 0x010C |
22ac: 90 91 0d 01 lds r25, 0x010D |
22b0: 9f 93 push r25 |
22b2: 8f 93 push r24 |
22b4: 8f e0 ldi r24, 0x0F ; 15 |
22b6: 94 e0 ldi r25, 0x04 ; 4 |
22b8: 9f 93 push r25 |
22ba: 8f 93 push r24 |
22bc: 1f 93 push r17 |
22be: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
22c2: 8c e3 ldi r24, 0x3C ; 60 |
22c4: 80 93 c7 01 sts 0x01C7, r24 |
22c8: 80 91 8c 04 lds r24, 0x048C |
22cc: 99 27 eor r25, r25 |
22ce: 9f 93 push r25 |
22d0: 8f 93 push r24 |
22d2: 80 e0 ldi r24, 0x00 ; 0 |
22d4: 94 e0 ldi r25, 0x04 ; 4 |
22d6: 9f 93 push r25 |
22d8: 8f 93 push r24 |
22da: 1f 93 push r17 |
22dc: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
22e0: 8d b7 in r24, 0x3d ; 61 |
22e2: 9e b7 in r25, 0x3e ; 62 |
22e4: 44 96 adiw r24, 0x14 ; 20 |
22e6: 8d bf out 0x3d, r24 ; 61 |
22e8: 0b c3 rjmp .+1558 ; 0x2900 <Menu+0x7be> |
22ea: 84 e1 ldi r24, 0x14 ; 20 |
22ec: 80 93 c7 01 sts 0x01C7, r24 |
22f0: 89 ef ldi r24, 0xF9 ; 249 |
22f2: 93 e0 ldi r25, 0x03 ; 3 |
22f4: 9f 93 push r25 |
22f6: 8f 93 push r24 |
22f8: 11 e0 ldi r17, 0x01 ; 1 |
22fa: 1f 93 push r17 |
22fc: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2300: 88 e2 ldi r24, 0x28 ; 40 |
2302: 80 93 c7 01 sts 0x01C7, r24 |
2306: 8b ee ldi r24, 0xEB ; 235 |
2308: 93 e0 ldi r25, 0x03 ; 3 |
230a: 9f 93 push r25 |
230c: 8f 93 push r24 |
230e: 1f 93 push r17 |
2310: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2314: 8d b7 in r24, 0x3d ; 61 |
2316: 9e b7 in r25, 0x3e ; 62 |
2318: 06 96 adiw r24, 0x06 ; 6 |
231a: e5 cf rjmp .-54 ; 0x22e6 <Menu+0x1a4> |
231c: 10 92 c7 01 sts 0x01C7, r1 |
2320: 81 ee ldi r24, 0xE1 ; 225 |
2322: 93 e0 ldi r25, 0x03 ; 3 |
2324: 9f 93 push r25 |
2326: 8f 93 push r24 |
2328: 11 e0 ldi r17, 0x01 ; 1 |
232a: 1f 93 push r17 |
232c: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2330: 84 e1 ldi r24, 0x14 ; 20 |
2332: 80 93 c7 01 sts 0x01C7, r24 |
2336: 60 91 da 01 lds r22, 0x01DA |
233a: 70 91 db 01 lds r23, 0x01DB |
233e: 80 91 dc 01 lds r24, 0x01DC |
2342: 90 91 dd 01 lds r25, 0x01DD |
2346: 20 e0 ldi r18, 0x00 ; 0 |
2348: 34 e0 ldi r19, 0x04 ; 4 |
234a: 40 e0 ldi r20, 0x00 ; 0 |
234c: 50 e0 ldi r21, 0x00 ; 0 |
234e: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
2352: 5f 93 push r21 |
2354: 4f 93 push r20 |
2356: 3f 93 push r19 |
2358: 2f 93 push r18 |
235a: 82 ed ldi r24, 0xD2 ; 210 |
235c: 93 e0 ldi r25, 0x03 ; 3 |
235e: 9f 93 push r25 |
2360: 8f 93 push r24 |
2362: 1f 93 push r17 |
2364: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2368: 88 e2 ldi r24, 0x28 ; 40 |
236a: 80 93 c7 01 sts 0x01C7, r24 |
236e: 60 91 e2 01 lds r22, 0x01E2 |
2372: 70 91 e3 01 lds r23, 0x01E3 |
2376: 80 91 e4 01 lds r24, 0x01E4 |
237a: 90 91 e5 01 lds r25, 0x01E5 |
237e: 20 e0 ldi r18, 0x00 ; 0 |
2380: 34 e0 ldi r19, 0x04 ; 4 |
2382: 40 e0 ldi r20, 0x00 ; 0 |
2384: 50 e0 ldi r21, 0x00 ; 0 |
2386: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
238a: 5f 93 push r21 |
238c: 4f 93 push r20 |
238e: 3f 93 push r19 |
2390: 2f 93 push r18 |
2392: 83 ec ldi r24, 0xC3 ; 195 |
2394: 93 e0 ldi r25, 0x03 ; 3 |
2396: 9f 93 push r25 |
2398: 8f 93 push r24 |
239a: 1f 93 push r17 |
239c: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
23a0: 8c e3 ldi r24, 0x3C ; 60 |
23a2: 80 93 c7 01 sts 0x01C7, r24 |
23a6: 80 91 0a 02 lds r24, 0x020A |
23aa: 90 91 0b 02 lds r25, 0x020B |
23ae: 9f 93 push r25 |
23b0: 8f 93 push r24 |
23b2: 84 eb ldi r24, 0xB4 ; 180 |
23b4: 93 e0 ldi r25, 0x03 ; 3 |
23b6: 9f 93 push r25 |
23b8: 8f 93 push r24 |
23ba: 1f 93 push r17 |
23bc: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
23c0: 8d b7 in r24, 0x3d ; 61 |
23c2: 9e b7 in r25, 0x3e ; 62 |
23c4: 46 96 adiw r24, 0x16 ; 22 |
23c6: 8f cf rjmp .-226 ; 0x22e6 <Menu+0x1a4> |
23c8: 10 92 c7 01 sts 0x01C7, r1 |
23cc: 80 91 b4 04 lds r24, 0x04B4 |
23d0: 90 91 b5 04 lds r25, 0x04B5 |
23d4: 20 91 b2 04 lds r18, 0x04B2 |
23d8: 30 91 b3 04 lds r19, 0x04B3 |
23dc: 9f 93 push r25 |
23de: 8f 93 push r24 |
23e0: 3f 93 push r19 |
23e2: 2f 93 push r18 |
23e4: 84 ea ldi r24, 0xA4 ; 164 |
23e6: 93 e0 ldi r25, 0x03 ; 3 |
23e8: 9f 93 push r25 |
23ea: 8f 93 push r24 |
23ec: 11 e0 ldi r17, 0x01 ; 1 |
23ee: 1f 93 push r17 |
23f0: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
23f4: 84 e1 ldi r24, 0x14 ; 20 |
23f6: 80 93 c7 01 sts 0x01C7, r24 |
23fa: 80 91 b8 04 lds r24, 0x04B8 |
23fe: 90 91 b9 04 lds r25, 0x04B9 |
2402: 20 91 b6 04 lds r18, 0x04B6 |
2406: 30 91 b7 04 lds r19, 0x04B7 |
240a: 9f 93 push r25 |
240c: 8f 93 push r24 |
240e: 3f 93 push r19 |
2410: 2f 93 push r18 |
2412: 84 e9 ldi r24, 0x94 ; 148 |
2414: 93 e0 ldi r25, 0x03 ; 3 |
2416: 9f 93 push r25 |
2418: 8f 93 push r24 |
241a: 1f 93 push r17 |
241c: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2420: 88 e2 ldi r24, 0x28 ; 40 |
2422: 80 93 c7 01 sts 0x01C7, r24 |
2426: 80 91 bc 04 lds r24, 0x04BC |
242a: 90 91 bd 04 lds r25, 0x04BD |
242e: 20 91 ba 04 lds r18, 0x04BA |
2432: 30 91 bb 04 lds r19, 0x04BB |
2436: 9f 93 push r25 |
2438: 8f 93 push r24 |
243a: 3f 93 push r19 |
243c: 2f 93 push r18 |
243e: 84 e8 ldi r24, 0x84 ; 132 |
2440: 93 e0 ldi r25, 0x03 ; 3 |
2442: 9f 93 push r25 |
2444: 8f 93 push r24 |
2446: 1f 93 push r17 |
2448: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
244c: 8c e3 ldi r24, 0x3C ; 60 |
244e: 80 93 c7 01 sts 0x01C7, r24 |
2452: 80 91 be 04 lds r24, 0x04BE |
2456: 90 91 bf 04 lds r25, 0x04BF |
245a: 9f 93 push r25 |
245c: 8f 93 push r24 |
245e: 84 e7 ldi r24, 0x74 ; 116 |
2460: 93 e0 ldi r25, 0x03 ; 3 |
2462: 70 c0 rjmp .+224 ; 0x2544 <Menu+0x402> |
2464: 10 92 c7 01 sts 0x01C7, r1 |
2468: e0 91 dd 04 lds r30, 0x04DD |
246c: ff 27 eor r31, r31 |
246e: ee 0f add r30, r30 |
2470: ff 1f adc r31, r31 |
2472: e0 55 subi r30, 0x50 ; 80 |
2474: fb 4f sbci r31, 0xFB ; 251 |
2476: 20 81 ld r18, Z |
2478: 31 81 ldd r19, Z+1 ; 0x01 |
247a: e0 91 dc 04 lds r30, 0x04DC |
247e: ff 27 eor r31, r31 |
2480: ee 0f add r30, r30 |
2482: ff 1f adc r31, r31 |
2484: e0 55 subi r30, 0x50 ; 80 |
2486: fb 4f sbci r31, 0xFB ; 251 |
2488: 80 81 ld r24, Z |
248a: 91 81 ldd r25, Z+1 ; 0x01 |
248c: 3f 93 push r19 |
248e: 2f 93 push r18 |
2490: 9f 93 push r25 |
2492: 8f 93 push r24 |
2494: 84 e6 ldi r24, 0x64 ; 100 |
2496: 93 e0 ldi r25, 0x03 ; 3 |
2498: 9f 93 push r25 |
249a: 8f 93 push r24 |
249c: 11 e0 ldi r17, 0x01 ; 1 |
249e: 1f 93 push r17 |
24a0: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
24a4: 84 e1 ldi r24, 0x14 ; 20 |
24a6: 80 93 c7 01 sts 0x01C7, r24 |
24aa: e0 91 df 04 lds r30, 0x04DF |
24ae: ff 27 eor r31, r31 |
24b0: ee 0f add r30, r30 |
24b2: ff 1f adc r31, r31 |
24b4: e0 55 subi r30, 0x50 ; 80 |
24b6: fb 4f sbci r31, 0xFB ; 251 |
24b8: 20 81 ld r18, Z |
24ba: 31 81 ldd r19, Z+1 ; 0x01 |
24bc: e0 91 de 04 lds r30, 0x04DE |
24c0: ff 27 eor r31, r31 |
24c2: ee 0f add r30, r30 |
24c4: ff 1f adc r31, r31 |
24c6: e0 55 subi r30, 0x50 ; 80 |
24c8: fb 4f sbci r31, 0xFB ; 251 |
24ca: 80 81 ld r24, Z |
24cc: 91 81 ldd r25, Z+1 ; 0x01 |
24ce: 3f 93 push r19 |
24d0: 2f 93 push r18 |
24d2: 9f 93 push r25 |
24d4: 8f 93 push r24 |
24d6: 84 e5 ldi r24, 0x54 ; 84 |
24d8: 93 e0 ldi r25, 0x03 ; 3 |
24da: 9f 93 push r25 |
24dc: 8f 93 push r24 |
24de: 1f 93 push r17 |
24e0: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
24e4: 88 e2 ldi r24, 0x28 ; 40 |
24e6: 80 93 c7 01 sts 0x01C7, r24 |
24ea: e0 91 e1 04 lds r30, 0x04E1 |
24ee: ff 27 eor r31, r31 |
24f0: ee 0f add r30, r30 |
24f2: ff 1f adc r31, r31 |
24f4: e0 55 subi r30, 0x50 ; 80 |
24f6: fb 4f sbci r31, 0xFB ; 251 |
24f8: 20 81 ld r18, Z |
24fa: 31 81 ldd r19, Z+1 ; 0x01 |
24fc: e0 91 e0 04 lds r30, 0x04E0 |
2500: ff 27 eor r31, r31 |
2502: ee 0f add r30, r30 |
2504: ff 1f adc r31, r31 |
2506: e0 55 subi r30, 0x50 ; 80 |
2508: fb 4f sbci r31, 0xFB ; 251 |
250a: 80 81 ld r24, Z |
250c: 91 81 ldd r25, Z+1 ; 0x01 |
250e: 3f 93 push r19 |
2510: 2f 93 push r18 |
2512: 9f 93 push r25 |
2514: 8f 93 push r24 |
2516: 84 e4 ldi r24, 0x44 ; 68 |
2518: 93 e0 ldi r25, 0x03 ; 3 |
251a: 9f 93 push r25 |
251c: 8f 93 push r24 |
251e: 1f 93 push r17 |
2520: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2524: 8c e3 ldi r24, 0x3C ; 60 |
2526: 80 93 c7 01 sts 0x01C7, r24 |
252a: e0 91 e2 04 lds r30, 0x04E2 |
252e: ff 27 eor r31, r31 |
2530: ee 0f add r30, r30 |
2532: ff 1f adc r31, r31 |
2534: e0 55 subi r30, 0x50 ; 80 |
2536: fb 4f sbci r31, 0xFB ; 251 |
2538: 80 81 ld r24, Z |
253a: 91 81 ldd r25, Z+1 ; 0x01 |
253c: 9f 93 push r25 |
253e: 8f 93 push r24 |
2540: 84 e3 ldi r24, 0x34 ; 52 |
2542: 93 e0 ldi r25, 0x03 ; 3 |
2544: 9f 93 push r25 |
2546: 8f 93 push r24 |
2548: 1f 93 push r17 |
254a: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
254e: 8d b7 in r24, 0x3d ; 61 |
2550: 9e b7 in r25, 0x3e ; 62 |
2552: 4a 96 adiw r24, 0x1a ; 26 |
2554: c8 ce rjmp .-624 ; 0x22e6 <Menu+0x1a4> |
2556: 10 92 c7 01 sts 0x01C7, r1 |
255a: 86 e2 ldi r24, 0x26 ; 38 |
255c: 93 e0 ldi r25, 0x03 ; 3 |
255e: 9f 93 push r25 |
2560: 8f 93 push r24 |
2562: 11 e0 ldi r17, 0x01 ; 1 |
2564: 1f 93 push r17 |
2566: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
256a: 84 e1 ldi r24, 0x14 ; 20 |
256c: 80 93 c7 01 sts 0x01C7, r24 |
2570: 20 91 d2 01 lds r18, 0x01D2 |
2574: 30 91 d3 01 lds r19, 0x01D3 |
2578: 80 91 ad 01 lds r24, 0x01AD |
257c: 90 91 ae 01 lds r25, 0x01AE |
2580: 60 91 b9 01 lds r22, 0x01B9 |
2584: 3f 93 push r19 |
2586: 2f 93 push r18 |
2588: 77 27 eor r23, r23 |
258a: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
258e: 7f 93 push r23 |
2590: 6f 93 push r22 |
2592: 87 e1 ldi r24, 0x17 ; 23 |
2594: 93 e0 ldi r25, 0x03 ; 3 |
2596: 9f 93 push r25 |
2598: 8f 93 push r24 |
259a: 1f 93 push r17 |
259c: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
25a0: 88 e2 ldi r24, 0x28 ; 40 |
25a2: 80 93 c7 01 sts 0x01C7, r24 |
25a6: 20 91 d4 01 lds r18, 0x01D4 |
25aa: 30 91 d5 01 lds r19, 0x01D5 |
25ae: 80 91 af 01 lds r24, 0x01AF |
25b2: 90 91 b0 01 lds r25, 0x01B0 |
25b6: 60 91 ba 01 lds r22, 0x01BA |
25ba: 3f 93 push r19 |
25bc: 2f 93 push r18 |
25be: 77 27 eor r23, r23 |
25c0: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
25c4: 7f 93 push r23 |
25c6: 6f 93 push r22 |
25c8: 88 e0 ldi r24, 0x08 ; 8 |
25ca: 93 e0 ldi r25, 0x03 ; 3 |
25cc: 9f 93 push r25 |
25ce: 8f 93 push r24 |
25d0: 1f 93 push r17 |
25d2: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
25d6: 8c e3 ldi r24, 0x3C ; 60 |
25d8: 80 93 c7 01 sts 0x01C7, r24 |
25dc: 20 91 d6 01 lds r18, 0x01D6 |
25e0: 30 91 d7 01 lds r19, 0x01D7 |
25e4: 80 91 b1 01 lds r24, 0x01B1 |
25e8: 90 91 b2 01 lds r25, 0x01B2 |
25ec: 60 91 bb 01 lds r22, 0x01BB |
25f0: 3f 93 push r19 |
25f2: 2f 93 push r18 |
25f4: 77 27 eor r23, r23 |
25f6: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
25fa: 7f 93 push r23 |
25fc: 6f 93 push r22 |
25fe: 89 ef ldi r24, 0xF9 ; 249 |
2600: 92 e0 ldi r25, 0x02 ; 2 |
2602: 9f 93 push r25 |
2604: 8f 93 push r24 |
2606: 1f 93 push r17 |
2608: 5b c0 rjmp .+182 ; 0x26c0 <Menu+0x57e> |
260a: 10 92 c7 01 sts 0x01C7, r1 |
260e: 8c ee ldi r24, 0xEC ; 236 |
2610: 92 e0 ldi r25, 0x02 ; 2 |
2612: 9f 93 push r25 |
2614: 8f 93 push r24 |
2616: 81 e0 ldi r24, 0x01 ; 1 |
2618: f8 2e mov r15, r24 |
261a: ff 92 push r15 |
261c: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2620: 84 e1 ldi r24, 0x14 ; 20 |
2622: 80 93 c7 01 sts 0x01C7, r24 |
2626: 80 91 b5 01 lds r24, 0x01B5 |
262a: 90 91 b6 01 lds r25, 0x01B6 |
262e: 60 91 bc 01 lds r22, 0x01BC |
2632: 20 91 21 05 lds r18, 0x0521 |
2636: 30 91 22 05 lds r19, 0x0522 |
263a: 3f 93 push r19 |
263c: 2f 93 push r18 |
263e: 77 27 eor r23, r23 |
2640: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
2644: 7f 93 push r23 |
2646: 6f 93 push r22 |
2648: 8d ed ldi r24, 0xDD ; 221 |
264a: 92 e0 ldi r25, 0x02 ; 2 |
264c: 9f 93 push r25 |
264e: 8f 93 push r24 |
2650: ff 92 push r15 |
2652: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2656: 88 e2 ldi r24, 0x28 ; 40 |
2658: 80 93 c7 01 sts 0x01C7, r24 |
265c: 80 91 b3 01 lds r24, 0x01B3 |
2660: 90 91 b4 01 lds r25, 0x01B4 |
2664: 60 91 bd 01 lds r22, 0x01BD |
2668: 20 91 23 05 lds r18, 0x0523 |
266c: 30 91 24 05 lds r19, 0x0524 |
2670: 3f 93 push r19 |
2672: 2f 93 push r18 |
2674: 77 27 eor r23, r23 |
2676: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
267a: 7f 93 push r23 |
267c: 6f 93 push r22 |
267e: 8e ec ldi r24, 0xCE ; 206 |
2680: 92 e0 ldi r25, 0x02 ; 2 |
2682: 9f 93 push r25 |
2684: 8f 93 push r24 |
2686: ff 92 push r15 |
2688: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
268c: 8c e3 ldi r24, 0x3C ; 60 |
268e: 80 93 c7 01 sts 0x01C7, r24 |
2692: 00 91 81 04 lds r16, 0x0481 |
2696: 10 91 82 04 lds r17, 0x0482 |
269a: 60 91 25 05 lds r22, 0x0525 |
269e: 70 91 26 05 lds r23, 0x0526 |
26a2: 80 91 27 05 lds r24, 0x0527 |
26a6: 90 91 28 05 lds r25, 0x0528 |
26aa: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
26ae: 7f 93 push r23 |
26b0: 6f 93 push r22 |
26b2: 1f 93 push r17 |
26b4: 0f 93 push r16 |
26b6: 8f eb ldi r24, 0xBF ; 191 |
26b8: 92 e0 ldi r25, 0x02 ; 2 |
26ba: 9f 93 push r25 |
26bc: 8f 93 push r24 |
26be: ff 92 push r15 |
26c0: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
26c4: 8d b7 in r24, 0x3d ; 61 |
26c6: 9e b7 in r25, 0x3e ; 62 |
26c8: 48 96 adiw r24, 0x18 ; 24 |
26ca: 0d ce rjmp .-998 ; 0x22e6 <Menu+0x1a4> |
26cc: 84 e1 ldi r24, 0x14 ; 20 |
26ce: 80 93 c7 01 sts 0x01C7, r24 |
26d2: 80 91 06 01 lds r24, 0x0106 |
26d6: 90 91 07 01 lds r25, 0x0107 |
26da: 9f 93 push r25 |
26dc: 8f 93 push r24 |
26de: 80 eb ldi r24, 0xB0 ; 176 |
26e0: 92 e0 ldi r25, 0x02 ; 2 |
26e2: 9f 93 push r25 |
26e4: 8f 93 push r24 |
26e6: 11 e0 ldi r17, 0x01 ; 1 |
26e8: 1f 93 push r17 |
26ea: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
26ee: 88 e2 ldi r24, 0x28 ; 40 |
26f0: 80 93 c7 01 sts 0x01C7, r24 |
26f4: 80 91 1a 02 lds r24, 0x021A |
26f8: 99 27 eor r25, r25 |
26fa: 9f 93 push r25 |
26fc: 8f 93 push r24 |
26fe: 81 ea ldi r24, 0xA1 ; 161 |
2700: 92 e0 ldi r25, 0x02 ; 2 |
2702: 9f 93 push r25 |
2704: 8f 93 push r24 |
2706: 1f 93 push r17 |
2708: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
270c: 8d b7 in r24, 0x3d ; 61 |
270e: 9e b7 in r25, 0x3e ; 62 |
2710: 0a 96 adiw r24, 0x0a ; 10 |
2712: e9 cd rjmp .-1070 ; 0x22e6 <Menu+0x1a4> |
2714: 10 92 c7 01 sts 0x01C7, r1 |
2718: 82 e9 ldi r24, 0x92 ; 146 |
271a: 92 e0 ldi r25, 0x02 ; 2 |
271c: 9f 93 push r25 |
271e: 8f 93 push r24 |
2720: 11 e0 ldi r17, 0x01 ; 1 |
2722: 1f 93 push r17 |
2724: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2728: 84 e1 ldi r24, 0x14 ; 20 |
272a: 80 93 c7 01 sts 0x01C7, r24 |
272e: 80 91 0e 02 lds r24, 0x020E |
2732: 90 91 0f 02 lds r25, 0x020F |
2736: 9f 93 push r25 |
2738: 8f 93 push r24 |
273a: 83 e8 ldi r24, 0x83 ; 131 |
273c: 92 e0 ldi r25, 0x02 ; 2 |
273e: 9f 93 push r25 |
2740: 8f 93 push r24 |
2742: 1f 93 push r17 |
2744: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2748: 88 e2 ldi r24, 0x28 ; 40 |
274a: 80 93 c7 01 sts 0x01C7, r24 |
274e: 80 91 0a 02 lds r24, 0x020A |
2752: 90 91 0b 02 lds r25, 0x020B |
2756: 9f 93 push r25 |
2758: 8f 93 push r24 |
275a: 84 e7 ldi r24, 0x74 ; 116 |
275c: 92 e0 ldi r25, 0x02 ; 2 |
275e: 9f 93 push r25 |
2760: 8f 93 push r24 |
2762: 1f 93 push r17 |
2764: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2768: 8c e3 ldi r24, 0x3C ; 60 |
276a: 80 93 c7 01 sts 0x01C7, r24 |
276e: 80 91 0c 02 lds r24, 0x020C |
2772: 90 91 0d 02 lds r25, 0x020D |
2776: 9f 93 push r25 |
2778: 8f 93 push r24 |
277a: 85 e6 ldi r24, 0x65 ; 101 |
277c: 92 e0 ldi r25, 0x02 ; 2 |
277e: b2 c0 rjmp .+356 ; 0x28e4 <Menu+0x7a2> |
2780: 10 92 c7 01 sts 0x01C7, r1 |
2784: 80 91 12 02 lds r24, 0x0212 |
2788: 90 91 13 02 lds r25, 0x0213 |
278c: 9f 93 push r25 |
278e: 8f 93 push r24 |
2790: 89 e5 ldi r24, 0x59 ; 89 |
2792: 92 e0 ldi r25, 0x02 ; 2 |
2794: 9f 93 push r25 |
2796: 8f 93 push r24 |
2798: 11 e0 ldi r17, 0x01 ; 1 |
279a: 1f 93 push r17 |
279c: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
27a0: 84 e1 ldi r24, 0x14 ; 20 |
27a2: 80 93 c7 01 sts 0x01C7, r24 |
27a6: 80 91 14 02 lds r24, 0x0214 |
27aa: 90 91 15 02 lds r25, 0x0215 |
27ae: 9f 93 push r25 |
27b0: 8f 93 push r24 |
27b2: 8d e4 ldi r24, 0x4D ; 77 |
27b4: 92 e0 ldi r25, 0x02 ; 2 |
27b6: 9f 93 push r25 |
27b8: 8f 93 push r24 |
27ba: 1f 93 push r17 |
27bc: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
27c0: 88 e2 ldi r24, 0x28 ; 40 |
27c2: 80 93 c7 01 sts 0x01C7, r24 |
27c6: 80 91 16 02 lds r24, 0x0216 |
27ca: 90 91 17 02 lds r25, 0x0217 |
27ce: 9f 93 push r25 |
27d0: 8f 93 push r24 |
27d2: 81 e4 ldi r24, 0x41 ; 65 |
27d4: 92 e0 ldi r25, 0x02 ; 2 |
27d6: 9f 93 push r25 |
27d8: 8f 93 push r24 |
27da: 1f 93 push r17 |
27dc: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
27e0: 8c e3 ldi r24, 0x3C ; 60 |
27e2: 80 93 c7 01 sts 0x01C7, r24 |
27e6: 80 91 18 02 lds r24, 0x0218 |
27ea: 90 91 19 02 lds r25, 0x0219 |
27ee: 9f 93 push r25 |
27f0: 8f 93 push r24 |
27f2: 85 e3 ldi r24, 0x35 ; 53 |
27f4: 92 e0 ldi r25, 0x02 ; 2 |
27f6: 6f cd rjmp .-1314 ; 0x22d6 <Menu+0x194> |
27f8: 10 92 c7 01 sts 0x01C7, r1 |
27fc: 8d e2 ldi r24, 0x2D ; 45 |
27fe: 92 e0 ldi r25, 0x02 ; 2 |
2800: 9f 93 push r25 |
2802: 8f 93 push r24 |
2804: 11 e0 ldi r17, 0x01 ; 1 |
2806: 1f 93 push r17 |
2808: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
280c: 84 e1 ldi r24, 0x14 ; 20 |
280e: 80 93 c7 01 sts 0x01C7, r24 |
2812: 80 91 8b 01 lds r24, 0x018B |
2816: 99 27 eor r25, r25 |
2818: 9f 93 push r25 |
281a: 8f 93 push r24 |
281c: 8f e1 ldi r24, 0x1F ; 31 |
281e: 92 e0 ldi r25, 0x02 ; 2 |
2820: 9f 93 push r25 |
2822: 8f 93 push r24 |
2824: 1f 93 push r17 |
2826: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
282a: 88 e2 ldi r24, 0x28 ; 40 |
282c: 80 93 c7 01 sts 0x01C7, r24 |
2830: 80 91 a8 01 lds r24, 0x01A8 |
2834: 90 91 a9 01 lds r25, 0x01A9 |
2838: 9f 93 push r25 |
283a: 8f 93 push r24 |
283c: 81 e1 ldi r24, 0x11 ; 17 |
283e: 92 e0 ldi r25, 0x02 ; 2 |
2840: 9f 93 push r25 |
2842: 8f 93 push r24 |
2844: 1f 93 push r17 |
2846: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
284a: 8c e3 ldi r24, 0x3C ; 60 |
284c: 80 93 c7 01 sts 0x01C7, r24 |
2850: 80 91 00 05 lds r24, 0x0500 |
2854: 99 27 eor r25, r25 |
2856: 9f 93 push r25 |
2858: 8f 93 push r24 |
285a: 80 91 ff 04 lds r24, 0x04FF |
285e: 99 27 eor r25, r25 |
2860: 9f 93 push r25 |
2862: 8f 93 push r24 |
2864: 83 e0 ldi r24, 0x03 ; 3 |
2866: 92 e0 ldi r25, 0x02 ; 2 |
2868: 9f 93 push r25 |
286a: 8f 93 push r24 |
286c: 1f 93 push r17 |
286e: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2872: 36 cd rjmp .-1428 ; 0x22e0 <Menu+0x19e> |
2874: 10 92 c7 01 sts 0x01C7, r1 |
2878: 88 ef ldi r24, 0xF8 ; 248 |
287a: 91 e0 ldi r25, 0x01 ; 1 |
287c: 9f 93 push r25 |
287e: 8f 93 push r24 |
2880: 11 e0 ldi r17, 0x01 ; 1 |
2882: 1f 93 push r17 |
2884: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
2888: 84 e1 ldi r24, 0x14 ; 20 |
288a: 80 93 c7 01 sts 0x01C7, r24 |
288e: 80 91 91 04 lds r24, 0x0491 |
2892: 99 27 eor r25, r25 |
2894: 87 fd sbrc r24, 7 |
2896: 90 95 com r25 |
2898: 9f 93 push r25 |
289a: 8f 93 push r24 |
289c: 89 ee ldi r24, 0xE9 ; 233 |
289e: 91 e0 ldi r25, 0x01 ; 1 |
28a0: 9f 93 push r25 |
28a2: 8f 93 push r24 |
28a4: 1f 93 push r17 |
28a6: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
28aa: 88 e2 ldi r24, 0x28 ; 40 |
28ac: 80 93 c7 01 sts 0x01C7, r24 |
28b0: 80 91 92 04 lds r24, 0x0492 |
28b4: 99 27 eor r25, r25 |
28b6: 87 fd sbrc r24, 7 |
28b8: 90 95 com r25 |
28ba: 9f 93 push r25 |
28bc: 8f 93 push r24 |
28be: 8a ed ldi r24, 0xDA ; 218 |
28c0: 91 e0 ldi r25, 0x01 ; 1 |
28c2: 9f 93 push r25 |
28c4: 8f 93 push r24 |
28c6: 1f 93 push r17 |
28c8: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
28cc: 8c e3 ldi r24, 0x3C ; 60 |
28ce: 80 93 c7 01 sts 0x01C7, r24 |
28d2: 80 91 93 04 lds r24, 0x0493 |
28d6: 99 27 eor r25, r25 |
28d8: 87 fd sbrc r24, 7 |
28da: 90 95 com r25 |
28dc: 9f 93 push r25 |
28de: 8f 93 push r24 |
28e0: 8b ec ldi r24, 0xCB ; 203 |
28e2: 91 e0 ldi r25, 0x01 ; 1 |
28e4: 9f 93 push r25 |
28e6: 8f 93 push r24 |
28e8: 1f 93 push r17 |
28ea: 0e 94 70 09 call 0x12e0 ; 0x12e0 <_printf_P> |
28ee: 8d b7 in r24, 0x3d ; 61 |
28f0: 9e b7 in r25, 0x3e ; 62 |
28f2: 42 96 adiw r24, 0x12 ; 18 |
28f4: f8 cc rjmp .-1552 ; 0x22e6 <Menu+0x1a4> |
28f6: 81 50 subi r24, 0x01 ; 1 |
28f8: 80 93 68 01 sts 0x0168, r24 |
28fc: 10 92 c9 01 sts 0x01C9, r1 |
2900: 10 92 c8 01 sts 0x01C8, r1 |
2904: 1f 91 pop r17 |
2906: 0f 91 pop r16 |
2908: ff 90 pop r15 |
290a: 08 95 ret |
0000290c <__vector_19>: |
290c: 1f 92 push r1 |
290e: 0f 92 push r0 |
2910: 0f b6 in r0, 0x3f ; 63 |
2912: 0f 92 push r0 |
2914: 11 24 eor r1, r1 |
2916: 2f 93 push r18 |
2918: 3f 93 push r19 |
291a: 4f 93 push r20 |
291c: 8f 93 push r24 |
291e: 9f 93 push r25 |
2920: 80 91 94 04 lds r24, 0x0494 |
2924: 84 30 cpi r24, 0x04 ; 4 |
2926: 21 f0 breq .+8 ; 0x2930 <__vector_19+0x24> |
2928: 88 30 cpi r24, 0x08 ; 8 |
292a: 09 f0 breq .+2 ; 0x292e <__vector_19+0x22> |
292c: 95 c0 rjmp .+298 ; 0x2a58 <__vector_19+0x14c> |
292e: 25 c0 rjmp .+74 ; 0x297a <__vector_19+0x6e> |
2930: 80 91 97 04 lds r24, 0x0497 |
2934: 80 31 cpi r24, 0x10 ; 16 |
2936: 49 f4 brne .+18 ; 0x294a <__vector_19+0x3e> |
2938: 8e b5 in r24, 0x2e ; 46 |
293a: 99 27 eor r25, r25 |
293c: 98 2f mov r25, r24 |
293e: 88 27 eor r24, r24 |
2940: 90 93 99 04 sts 0x0499, r25 |
2944: 80 93 98 04 sts 0x0498, r24 |
2948: 13 c0 rjmp .+38 ; 0x2970 <__vector_19+0x64> |
294a: 80 32 cpi r24, 0x20 ; 32 |
294c: 49 f4 brne .+18 ; 0x2960 <__vector_19+0x54> |
294e: 8e b5 in r24, 0x2e ; 46 |
2950: 99 27 eor r25, r25 |
2952: 98 2f mov r25, r24 |
2954: 88 27 eor r24, r24 |
2956: 90 93 9d 04 sts 0x049D, r25 |
295a: 80 93 9c 04 sts 0x049C, r24 |
295e: 08 c0 rjmp .+16 ; 0x2970 <__vector_19+0x64> |
2960: 8e b5 in r24, 0x2e ; 46 |
2962: 99 27 eor r25, r25 |
2964: 98 2f mov r25, r24 |
2966: 88 27 eor r24, r24 |
2968: 90 93 a1 04 sts 0x04A1, r25 |
296c: 80 93 a0 04 sts 0x04A0, r24 |
2970: 1e bc out 0x2e, r1 ; 46 |
2972: 88 e0 ldi r24, 0x08 ; 8 |
2974: 80 93 94 04 sts 0x0494, r24 |
2978: 6f c0 rjmp .+222 ; 0x2a58 <__vector_19+0x14c> |
297a: 80 91 97 04 lds r24, 0x0497 |
297e: 80 31 cpi r24, 0x10 ; 16 |
2980: 11 f5 brne .+68 ; 0x29c6 <__vector_19+0xba> |
2982: 8e b5 in r24, 0x2e ; 46 |
2984: 28 2f mov r18, r24 |
2986: 33 27 eor r19, r19 |
2988: 80 91 98 04 lds r24, 0x0498 |
298c: 90 91 99 04 lds r25, 0x0499 |
2990: 28 2b or r18, r24 |
2992: 39 2b or r19, r25 |
2994: 30 93 99 04 sts 0x0499, r19 |
2998: 20 93 98 04 sts 0x0498, r18 |
299c: c9 01 movw r24, r18 |
299e: 8d 50 subi r24, 0x0D ; 13 |
29a0: 9e 4f sbci r25, 0xFE ; 254 |
29a2: 87 5e subi r24, 0xE7 ; 231 |
29a4: 93 40 sbci r25, 0x03 ; 3 |
29a6: 28 f4 brcc .+10 ; 0x29b2 <__vector_19+0xa6> |
29a8: 30 93 9b 04 sts 0x049B, r19 |
29ac: 20 93 9a 04 sts 0x049A, r18 |
29b0: 08 c0 rjmp .+16 ; 0x29c2 <__vector_19+0xb6> |
29b2: 80 91 9a 04 lds r24, 0x049A |
29b6: 90 91 9b 04 lds r25, 0x049B |
29ba: 90 93 99 04 sts 0x0499, r25 |
29be: 80 93 98 04 sts 0x0498, r24 |
29c2: 80 e2 ldi r24, 0x20 ; 32 |
29c4: 45 c0 rjmp .+138 ; 0x2a50 <__vector_19+0x144> |
29c6: 80 32 cpi r24, 0x20 ; 32 |
29c8: 11 f5 brne .+68 ; 0x2a0e <__vector_19+0x102> |
29ca: 8e b5 in r24, 0x2e ; 46 |
29cc: 28 2f mov r18, r24 |
29ce: 33 27 eor r19, r19 |
29d0: 80 91 9c 04 lds r24, 0x049C |
29d4: 90 91 9d 04 lds r25, 0x049D |
29d8: 28 2b or r18, r24 |
29da: 39 2b or r19, r25 |
29dc: 30 93 9d 04 sts 0x049D, r19 |
29e0: 20 93 9c 04 sts 0x049C, r18 |
29e4: c9 01 movw r24, r18 |
29e6: 8d 50 subi r24, 0x0D ; 13 |
29e8: 9e 4f sbci r25, 0xFE ; 254 |
29ea: 87 5e subi r24, 0xE7 ; 231 |
29ec: 93 40 sbci r25, 0x03 ; 3 |
29ee: 28 f4 brcc .+10 ; 0x29fa <__vector_19+0xee> |
29f0: 30 93 9f 04 sts 0x049F, r19 |
29f4: 20 93 9e 04 sts 0x049E, r18 |
29f8: 08 c0 rjmp .+16 ; 0x2a0a <__vector_19+0xfe> |
29fa: 80 91 9e 04 lds r24, 0x049E |
29fe: 90 91 9f 04 lds r25, 0x049F |
2a02: 90 93 9d 04 sts 0x049D, r25 |
2a06: 80 93 9c 04 sts 0x049C, r24 |
2a0a: 80 e4 ldi r24, 0x40 ; 64 |
2a0c: 21 c0 rjmp .+66 ; 0x2a50 <__vector_19+0x144> |
2a0e: 8e b5 in r24, 0x2e ; 46 |
2a10: 28 2f mov r18, r24 |
2a12: 33 27 eor r19, r19 |
2a14: 80 91 a0 04 lds r24, 0x04A0 |
2a18: 90 91 a1 04 lds r25, 0x04A1 |
2a1c: 28 2b or r18, r24 |
2a1e: 39 2b or r19, r25 |
2a20: 30 93 a1 04 sts 0x04A1, r19 |
2a24: 20 93 a0 04 sts 0x04A0, r18 |
2a28: c9 01 movw r24, r18 |
2a2a: 8d 50 subi r24, 0x0D ; 13 |
2a2c: 9e 4f sbci r25, 0xFE ; 254 |
2a2e: 87 5e subi r24, 0xE7 ; 231 |
2a30: 93 40 sbci r25, 0x03 ; 3 |
2a32: 28 f4 brcc .+10 ; 0x2a3e <__vector_19+0x132> |
2a34: 30 93 a3 04 sts 0x04A3, r19 |
2a38: 20 93 a2 04 sts 0x04A2, r18 |
2a3c: 08 c0 rjmp .+16 ; 0x2a4e <__vector_19+0x142> |
2a3e: 80 91 a2 04 lds r24, 0x04A2 |
2a42: 90 91 a3 04 lds r25, 0x04A3 |
2a46: 90 93 a1 04 sts 0x04A1, r25 |
2a4a: 80 93 a0 04 sts 0x04A0, r24 |
2a4e: 80 e1 ldi r24, 0x10 ; 16 |
2a50: 80 93 97 04 sts 0x0497, r24 |
2a54: 10 92 94 04 sts 0x0494, r1 |
2a58: 9f 91 pop r25 |
2a5a: 8f 91 pop r24 |
2a5c: 4f 91 pop r20 |
2a5e: 3f 91 pop r19 |
2a60: 2f 91 pop r18 |
2a62: 0f 90 pop r0 |
2a64: 0f be out 0x3f, r0 ; 63 |
2a66: 0f 90 pop r0 |
2a68: 1f 90 pop r1 |
2a6a: 18 95 reti |
00002a6c <MM3_heading>: |
2a6c: a0 e1 ldi r26, 0x10 ; 16 |
2a6e: b0 e0 ldi r27, 0x00 ; 0 |
2a70: ec e3 ldi r30, 0x3C ; 60 |
2a72: f5 e1 ldi r31, 0x15 ; 21 |
2a74: 0c 94 bb 2e jmp 0x5d76 ; 0x5d76 <__prologue_saves__> |
2a78: 60 91 da 01 lds r22, 0x01DA |
2a7c: 70 91 db 01 lds r23, 0x01DB |
2a80: 80 91 dc 01 lds r24, 0x01DC |
2a84: 90 91 dd 01 lds r25, 0x01DD |
2a88: 20 91 f9 04 lds r18, 0x04F9 |
2a8c: 33 27 eor r19, r19 |
2a8e: e3 e0 ldi r30, 0x03 ; 3 |
2a90: 22 0f add r18, r18 |
2a92: 33 1f adc r19, r19 |
2a94: ea 95 dec r30 |
2a96: e1 f7 brne .-8 ; 0x2a90 <MM3_heading+0x24> |
2a98: 44 27 eor r20, r20 |
2a9a: 37 fd sbrc r19, 7 |
2a9c: 40 95 com r20 |
2a9e: 54 2f mov r21, r20 |
2aa0: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
2aa4: 79 01 movw r14, r18 |
2aa6: 8a 01 movw r16, r20 |
2aa8: f0 94 com r15 |
2aaa: e1 94 neg r14 |
2aac: f1 08 sbc r15, r1 |
2aae: f3 94 inc r15 |
2ab0: f0 92 a5 04 sts 0x04A5, r15 |
2ab4: e0 92 a4 04 sts 0x04A4, r14 |
2ab8: 60 91 e2 01 lds r22, 0x01E2 |
2abc: 70 91 e3 01 lds r23, 0x01E3 |
2ac0: 80 91 e4 01 lds r24, 0x01E4 |
2ac4: 90 91 e5 01 lds r25, 0x01E5 |
2ac8: 20 91 fa 04 lds r18, 0x04FA |
2acc: 33 27 eor r19, r19 |
2ace: 53 e0 ldi r21, 0x03 ; 3 |
2ad0: 22 0f add r18, r18 |
2ad2: 33 1f adc r19, r19 |
2ad4: 5a 95 dec r21 |
2ad6: e1 f7 brne .-8 ; 0x2ad0 <MM3_heading+0x64> |
2ad8: 44 27 eor r20, r20 |
2ada: 37 fd sbrc r19, 7 |
2adc: 40 95 com r20 |
2ade: 54 2f mov r21, r20 |
2ae0: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
2ae4: 30 95 com r19 |
2ae6: 21 95 neg r18 |
2ae8: 3f 4f sbci r19, 0xFF ; 255 |
2aea: 30 93 a7 04 sts 0x04A7, r19 |
2aee: 20 93 a6 04 sts 0x04A6, r18 |
2af2: c7 01 movw r24, r14 |
2af4: 0e 94 b6 17 call 0x2f6c ; 0x2f6c <sin_f> |
2af8: 69 87 std Y+9, r22 ; 0x09 |
2afa: 7a 87 std Y+10, r23 ; 0x0a |
2afc: 8b 87 std Y+11, r24 ; 0x0b |
2afe: 9c 87 std Y+12, r25 ; 0x0c |
2b00: 80 91 a4 04 lds r24, 0x04A4 |
2b04: 90 91 a5 04 lds r25, 0x04A5 |
2b08: 0e 94 1a 18 call 0x3034 ; 0x3034 <cos_f> |
2b0c: 5b 01 movw r10, r22 |
2b0e: 6c 01 movw r12, r24 |
2b10: 80 91 a6 04 lds r24, 0x04A6 |
2b14: 90 91 a7 04 lds r25, 0x04A7 |
2b18: 0e 94 b6 17 call 0x2f6c ; 0x2f6c <sin_f> |
2b1c: 6d 83 std Y+5, r22 ; 0x05 |
2b1e: 7e 83 std Y+6, r23 ; 0x06 |
2b20: 8f 83 std Y+7, r24 ; 0x07 |
2b22: 98 87 std Y+8, r25 ; 0x08 |
2b24: 80 91 a6 04 lds r24, 0x04A6 |
2b28: 90 91 a7 04 lds r25, 0x04A7 |
2b2c: 0e 94 1a 18 call 0x3034 ; 0x3034 <cos_f> |
2b30: 69 83 std Y+1, r22 ; 0x01 |
2b32: 7a 83 std Y+2, r23 ; 0x02 |
2b34: 8b 83 std Y+3, r24 ; 0x03 |
2b36: 9c 83 std Y+4, r25 ; 0x04 |
2b38: 20 91 92 04 lds r18, 0x0492 |
2b3c: 33 27 eor r19, r19 |
2b3e: 27 fd sbrc r18, 7 |
2b40: 30 95 com r19 |
2b42: 60 91 9c 04 lds r22, 0x049C |
2b46: 70 91 9d 04 lds r23, 0x049D |
2b4a: 62 1b sub r22, r18 |
2b4c: 73 0b sbc r23, r19 |
2b4e: 88 27 eor r24, r24 |
2b50: 77 fd sbrc r23, 7 |
2b52: 80 95 com r24 |
2b54: 98 2f mov r25, r24 |
2b56: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
2b5a: 1b 01 movw r2, r22 |
2b5c: 2c 01 movw r4, r24 |
2b5e: 20 91 93 04 lds r18, 0x0493 |
2b62: 33 27 eor r19, r19 |
2b64: 27 fd sbrc r18, 7 |
2b66: 30 95 com r19 |
2b68: 60 91 a0 04 lds r22, 0x04A0 |
2b6c: 70 91 a1 04 lds r23, 0x04A1 |
2b70: 62 1b sub r22, r18 |
2b72: 73 0b sbc r23, r19 |
2b74: 88 27 eor r24, r24 |
2b76: 77 fd sbrc r23, 7 |
2b78: 80 95 com r24 |
2b7a: 98 2f mov r25, r24 |
2b7c: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
2b80: 3b 01 movw r6, r22 |
2b82: 4c 01 movw r8, r24 |
2b84: a2 01 movw r20, r4 |
2b86: 91 01 movw r18, r2 |
2b88: 69 81 ldd r22, Y+1 ; 0x01 |
2b8a: 7a 81 ldd r23, Y+2 ; 0x02 |
2b8c: 8b 81 ldd r24, Y+3 ; 0x03 |
2b8e: 9c 81 ldd r25, Y+4 ; 0x04 |
2b90: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
2b94: 7b 01 movw r14, r22 |
2b96: 8c 01 movw r16, r24 |
2b98: a4 01 movw r20, r8 |
2b9a: 93 01 movw r18, r6 |
2b9c: 6d 81 ldd r22, Y+5 ; 0x05 |
2b9e: 7e 81 ldd r23, Y+6 ; 0x06 |
2ba0: 8f 81 ldd r24, Y+7 ; 0x07 |
2ba2: 98 85 ldd r25, Y+8 ; 0x08 |
2ba4: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
2ba8: 9b 01 movw r18, r22 |
2baa: ac 01 movw r20, r24 |
2bac: c8 01 movw r24, r16 |
2bae: b7 01 movw r22, r14 |
2bb0: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
2bb4: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
2bb8: 6d 87 std Y+13, r22 ; 0x0d |
2bba: 7e 87 std Y+14, r23 ; 0x0e |
2bbc: 8f 87 std Y+15, r24 ; 0x0f |
2bbe: 98 8b std Y+16, r25 ; 0x10 |
2bc0: 20 91 91 04 lds r18, 0x0491 |
2bc4: 33 27 eor r19, r19 |
2bc6: 27 fd sbrc r18, 7 |
2bc8: 30 95 com r19 |
2bca: 60 91 98 04 lds r22, 0x0498 |
2bce: 70 91 99 04 lds r23, 0x0499 |
2bd2: 62 1b sub r22, r18 |
2bd4: 73 0b sbc r23, r19 |
2bd6: 88 27 eor r24, r24 |
2bd8: 77 fd sbrc r23, 7 |
2bda: 80 95 com r24 |
2bdc: 98 2f mov r25, r24 |
2bde: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
2be2: 9b 01 movw r18, r22 |
2be4: ac 01 movw r20, r24 |
2be6: c6 01 movw r24, r12 |
2be8: b5 01 movw r22, r10 |
2bea: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
2bee: 5b 01 movw r10, r22 |
2bf0: 6c 01 movw r12, r24 |
2bf2: a2 01 movw r20, r4 |
2bf4: 91 01 movw r18, r2 |
2bf6: 6d 81 ldd r22, Y+5 ; 0x05 |
2bf8: 7e 81 ldd r23, Y+6 ; 0x06 |
2bfa: 8f 81 ldd r24, Y+7 ; 0x07 |
2bfc: 98 85 ldd r25, Y+8 ; 0x08 |
2bfe: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
2c02: 7b 01 movw r14, r22 |
2c04: 8c 01 movw r16, r24 |
2c06: a4 01 movw r20, r8 |
2c08: 93 01 movw r18, r6 |
2c0a: 69 81 ldd r22, Y+1 ; 0x01 |
2c0c: 7a 81 ldd r23, Y+2 ; 0x02 |
2c0e: 8b 81 ldd r24, Y+3 ; 0x03 |
2c10: 9c 81 ldd r25, Y+4 ; 0x04 |
2c12: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
2c16: 9b 01 movw r18, r22 |
2c18: ac 01 movw r20, r24 |
2c1a: c8 01 movw r24, r16 |
2c1c: b7 01 movw r22, r14 |
2c1e: 0e 94 d0 2c call 0x59a0 ; 0x59a0 <__subsf3> |
2c22: 29 85 ldd r18, Y+9 ; 0x09 |
2c24: 3a 85 ldd r19, Y+10 ; 0x0a |
2c26: 4b 85 ldd r20, Y+11 ; 0x0b |
2c28: 5c 85 ldd r21, Y+12 ; 0x0c |
2c2a: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
2c2e: 9b 01 movw r18, r22 |
2c30: ac 01 movw r20, r24 |
2c32: c6 01 movw r24, r12 |
2c34: b5 01 movw r22, r10 |
2c36: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
2c3a: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
2c3e: dc 01 movw r26, r24 |
2c40: cb 01 movw r24, r22 |
2c42: 6d 85 ldd r22, Y+13 ; 0x0d |
2c44: 7e 85 ldd r23, Y+14 ; 0x0e |
2c46: 0e 94 fa 16 call 0x2df4 ; 0x2df4 <atan2_i> |
2c4a: e2 e1 ldi r30, 0x12 ; 18 |
2c4c: c0 5f subi r28, 0xF0 ; 240 |
2c4e: 0c 94 d7 2e jmp 0x5dae ; 0x5dae <__epilogue_restores__> |
00002c52 <MM3_timer0>: |
2c52: 80 91 94 04 lds r24, 0x0494 |
2c56: 81 30 cpi r24, 0x01 ; 1 |
2c58: 41 f0 breq .+16 ; 0x2c6a <MM3_timer0+0x18> |
2c5a: 81 30 cpi r24, 0x01 ; 1 |
2c5c: 18 f0 brcs .+6 ; 0x2c64 <MM3_timer0+0x12> |
2c5e: 82 30 cpi r24, 0x02 ; 2 |
2c60: 59 f5 brne .+86 ; 0x2cb8 <MM3_timer0+0x66> |
2c62: 1e c0 rjmp .+60 ; 0x2ca0 <MM3_timer0+0x4e> |
2c64: 2a 9a sbi 0x05, 2 ; 5 |
2c66: 81 e0 ldi r24, 0x01 ; 1 |
2c68: 18 c0 rjmp .+48 ; 0x2c9a <MM3_timer0+0x48> |
2c6a: 2a 98 cbi 0x05, 2 ; 5 |
2c6c: 80 91 97 04 lds r24, 0x0497 |
2c70: 80 31 cpi r24, 0x10 ; 16 |
2c72: 11 f4 brne .+4 ; 0x2c78 <MM3_timer0+0x26> |
2c74: 81 e3 ldi r24, 0x31 ; 49 |
2c76: 07 c0 rjmp .+14 ; 0x2c86 <MM3_timer0+0x34> |
2c78: 80 32 cpi r24, 0x20 ; 32 |
2c7a: 11 f4 brne .+4 ; 0x2c80 <MM3_timer0+0x2e> |
2c7c: 82 e3 ldi r24, 0x32 ; 50 |
2c7e: 03 c0 rjmp .+6 ; 0x2c86 <MM3_timer0+0x34> |
2c80: 80 34 cpi r24, 0x40 ; 64 |
2c82: 11 f4 brne .+4 ; 0x2c88 <MM3_timer0+0x36> |
2c84: 83 e3 ldi r24, 0x33 ; 51 |
2c86: 8e bd out 0x2e, r24 ; 46 |
2c88: 88 e0 ldi r24, 0x08 ; 8 |
2c8a: 90 e0 ldi r25, 0x00 ; 0 |
2c8c: 0e 94 e9 0b call 0x17d2 ; 0x17d2 <SetDelay> |
2c90: 90 93 96 04 sts 0x0496, r25 |
2c94: 80 93 95 04 sts 0x0495, r24 |
2c98: 82 e0 ldi r24, 0x02 ; 2 |
2c9a: 80 93 94 04 sts 0x0494, r24 |
2c9e: 08 95 ret |
2ca0: 80 91 95 04 lds r24, 0x0495 |
2ca4: 90 91 96 04 lds r25, 0x0496 |
2ca8: 0e 94 f2 0b call 0x17e4 ; 0x17e4 <CheckDelay> |
2cac: 88 23 and r24, r24 |
2cae: 21 f0 breq .+8 ; 0x2cb8 <MM3_timer0+0x66> |
2cb0: 1e bc out 0x2e, r1 ; 46 |
2cb2: 84 e0 ldi r24, 0x04 ; 4 |
2cb4: 80 93 94 04 sts 0x0494, r24 |
2cb8: 08 95 ret |
00002cba <calib_MM3>: |
2cba: a0 e0 ldi r26, 0x00 ; 0 |
2cbc: b0 e0 ldi r27, 0x00 ; 0 |
2cbe: e3 e6 ldi r30, 0x63 ; 99 |
2cc0: f6 e1 ldi r31, 0x16 ; 22 |
2cc2: 0c 94 bd 2e jmp 0x5d7a ; 0x5d7a <__prologue_saves__+0x4> |
2cc6: ee 24 eor r14, r14 |
2cc8: ff 24 eor r15, r15 |
2cca: 00 e0 ldi r16, 0x00 ; 0 |
2ccc: 10 e0 ldi r17, 0x00 ; 0 |
2cce: aa 24 eor r10, r10 |
2cd0: bb 24 eor r11, r11 |
2cd2: cc 24 eor r12, r12 |
2cd4: dd 24 eor r13, r13 |
2cd6: 66 24 eor r6, r6 |
2cd8: 77 24 eor r7, r7 |
2cda: 88 24 eor r8, r8 |
2cdc: 99 24 eor r9, r9 |
2cde: 82 e3 ldi r24, 0x32 ; 50 |
2ce0: 48 2e mov r4, r24 |
2ce2: 55 24 eor r5, r5 |
2ce4: 80 91 98 04 lds r24, 0x0498 |
2ce8: 90 91 99 04 lds r25, 0x0499 |
2cec: 08 17 cp r16, r24 |
2cee: 19 07 cpc r17, r25 |
2cf0: 14 f4 brge .+4 ; 0x2cf6 <calib_MM3+0x3c> |
2cf2: 8c 01 movw r16, r24 |
2cf4: 04 c0 rjmp .+8 ; 0x2cfe <calib_MM3+0x44> |
2cf6: 8e 15 cp r24, r14 |
2cf8: 9f 05 cpc r25, r15 |
2cfa: 0c f4 brge .+2 ; 0x2cfe <calib_MM3+0x44> |
2cfc: 7c 01 movw r14, r24 |
2cfe: 80 91 9c 04 lds r24, 0x049C |
2d02: 90 91 9d 04 lds r25, 0x049D |
2d06: c8 16 cp r12, r24 |
2d08: d9 06 cpc r13, r25 |
2d0a: 14 f4 brge .+4 ; 0x2d10 <calib_MM3+0x56> |
2d0c: 6c 01 movw r12, r24 |
2d0e: 04 c0 rjmp .+8 ; 0x2d18 <calib_MM3+0x5e> |
2d10: 8a 15 cp r24, r10 |
2d12: 9b 05 cpc r25, r11 |
2d14: 0c f4 brge .+2 ; 0x2d18 <calib_MM3+0x5e> |
2d16: 5c 01 movw r10, r24 |
2d18: 80 91 a0 04 lds r24, 0x04A0 |
2d1c: 90 91 a1 04 lds r25, 0x04A1 |
2d20: 88 16 cp r8, r24 |
2d22: 99 06 cpc r9, r25 |
2d24: 14 f4 brge .+4 ; 0x2d2a <calib_MM3+0x70> |
2d26: 4c 01 movw r8, r24 |
2d28: 04 c0 rjmp .+8 ; 0x2d32 <calib_MM3+0x78> |
2d2a: 86 15 cp r24, r6 |
2d2c: 97 05 cpc r25, r7 |
2d2e: 0c f4 brge .+2 ; 0x2d32 <calib_MM3+0x78> |
2d30: 3c 01 movw r6, r24 |
2d32: 55 20 and r5, r5 |
2d34: 41 f4 brne .+16 ; 0x2d46 <calib_MM3+0x8c> |
2d36: 82 e3 ldi r24, 0x32 ; 50 |
2d38: 90 e0 ldi r25, 0x00 ; 0 |
2d3a: 90 93 a7 01 sts 0x01A7, r25 |
2d3e: 80 93 a6 01 sts 0x01A6, r24 |
2d42: b2 e3 ldi r27, 0x32 ; 50 |
2d44: 5b 2e mov r5, r27 |
2d46: 8a e0 ldi r24, 0x0A ; 10 |
2d48: 90 e0 ldi r25, 0x00 ; 0 |
2d4a: 0e 94 e9 0b call 0x17d2 ; 0x17d2 <SetDelay> |
2d4e: ec 01 movw r28, r24 |
2d50: ce 01 movw r24, r28 |
2d52: 0e 94 f2 0b call 0x17e4 ; 0x17e4 <CheckDelay> |
2d56: 88 23 and r24, r24 |
2d58: d9 f3 breq .-10 ; 0x2d50 <calib_MM3+0x96> |
2d5a: e0 91 de 04 lds r30, 0x04DE |
2d5e: ff 27 eor r31, r31 |
2d60: ee 0f add r30, r30 |
2d62: ff 1f adc r31, r31 |
2d64: e0 55 subi r30, 0x50 ; 80 |
2d66: fb 4f sbci r31, 0xFB ; 251 |
2d68: 80 81 ld r24, Z |
2d6a: 91 81 ldd r25, Z+1 ; 0x01 |
2d6c: 84 36 cpi r24, 0x64 ; 100 |
2d6e: 91 05 cpc r25, r1 |
2d70: 0c f4 brge .+2 ; 0x2d74 <calib_MM3+0xba> |
2d72: 4a 94 dec r4 |
2d74: 44 20 and r4, r4 |
2d76: 11 f0 breq .+4 ; 0x2d7c <calib_MM3+0xc2> |
2d78: 5a 94 dec r5 |
2d7a: b4 cf rjmp .-152 ; 0x2ce4 <calib_MM3+0x2a> |
2d7c: e1 e9 ldi r30, 0x91 ; 145 |
2d7e: f4 e0 ldi r31, 0x04 ; 4 |
2d80: c8 01 movw r24, r16 |
2d82: 8e 0d add r24, r14 |
2d84: 9f 1d adc r25, r15 |
2d86: 62 e0 ldi r22, 0x02 ; 2 |
2d88: 70 e0 ldi r23, 0x00 ; 0 |
2d8a: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
2d8e: 60 93 91 04 sts 0x0491, r22 |
2d92: c6 01 movw r24, r12 |
2d94: 8a 0d add r24, r10 |
2d96: 9b 1d adc r25, r11 |
2d98: 62 e0 ldi r22, 0x02 ; 2 |
2d9a: 70 e0 ldi r23, 0x00 ; 0 |
2d9c: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
2da0: 60 93 92 04 sts 0x0492, r22 |
2da4: c4 01 movw r24, r8 |
2da6: 86 0d add r24, r6 |
2da8: 97 1d adc r25, r7 |
2daa: 62 e0 ldi r22, 0x02 ; 2 |
2dac: 70 e0 ldi r23, 0x00 ; 0 |
2dae: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
2db2: 60 93 93 04 sts 0x0493, r22 |
2db6: 83 e0 ldi r24, 0x03 ; 3 |
2db8: a5 ef ldi r26, 0xF5 ; 245 |
2dba: b1 e0 ldi r27, 0x01 ; 1 |
2dbc: 18 2e mov r1, r24 |
2dbe: 0e 94 11 2f call 0x5e22 ; 0x5e22 <__eeprom_write_block_1F2021> |
2dc2: e0 e1 ldi r30, 0x10 ; 16 |
2dc4: cd b7 in r28, 0x3d ; 61 |
2dc6: de b7 in r29, 0x3e ; 62 |
2dc8: 0c 94 d9 2e jmp 0x5db2 ; 0x5db2 <__epilogue_restores__+0x4> |
00002dcc <MM3_init>: |
2dcc: 83 ed ldi r24, 0xD3 ; 211 |
2dce: 8c bd out 0x2c, r24 ; 44 |
2dd0: 84 b1 in r24, 0x04 ; 4 |
2dd2: 84 6a ori r24, 0xA4 ; 164 |
2dd4: 84 b9 out 0x04, r24 ; 4 |
2dd6: 5b 98 cbi 0x0b, 3 ; 11 |
2dd8: 80 e1 ldi r24, 0x10 ; 16 |
2dda: 80 93 97 04 sts 0x0497, r24 |
2dde: 10 92 94 04 sts 0x0494, r1 |
2de2: 83 e0 ldi r24, 0x03 ; 3 |
2de4: e1 e9 ldi r30, 0x91 ; 145 |
2de6: f4 e0 ldi r31, 0x04 ; 4 |
2de8: a5 ef ldi r26, 0xF5 ; 245 |
2dea: b1 e0 ldi r27, 0x01 ; 1 |
2dec: 18 2e mov r1, r24 |
2dee: 0e 94 00 2f call 0x5e00 ; 0x5e00 <__eeprom_read_block_1F2021> |
2df2: 08 95 ret |
00002df4 <atan2_i>: |
2df4: a0 e0 ldi r26, 0x00 ; 0 |
2df6: b0 e0 ldi r27, 0x00 ; 0 |
2df8: e0 e0 ldi r30, 0x00 ; 0 |
2dfa: f7 e1 ldi r31, 0x17 ; 23 |
2dfc: 0c 94 c4 2e jmp 0x5d88 ; 0x5d88 <__prologue_saves__+0x12> |
2e00: ec 01 movw r28, r24 |
2e02: 6b 01 movw r12, r22 |
2e04: 89 2b or r24, r25 |
2e06: 29 f4 brne .+10 ; 0x2e12 <atan2_i+0x1e> |
2e08: 67 2b or r22, r23 |
2e0a: 19 f4 brne .+6 ; 0x2e12 <atan2_i+0x1e> |
2e0c: 80 e0 ldi r24, 0x00 ; 0 |
2e0e: 90 e0 ldi r25, 0x00 ; 0 |
2e10: 9e c0 rjmp .+316 ; 0x2f4e <atan2_i+0x15a> |
2e12: d7 fc sbrc r13, 7 |
2e14: 03 c0 rjmp .+6 ; 0x2e1c <atan2_i+0x28> |
2e16: 91 e0 ldi r25, 0x01 ; 1 |
2e18: b9 2e mov r11, r25 |
2e1a: 02 c0 rjmp .+4 ; 0x2e20 <atan2_i+0x2c> |
2e1c: 8f ef ldi r24, 0xFF ; 255 |
2e1e: b8 2e mov r11, r24 |
2e20: 20 97 sbiw r28, 0x00 ; 0 |
2e22: 31 f4 brne .+12 ; 0x2e30 <atan2_i+0x3c> |
2e24: 8a e5 ldi r24, 0x5A ; 90 |
2e26: 2b 2d mov r18, r11 |
2e28: 28 02 muls r18, r24 |
2e2a: c0 01 movw r24, r0 |
2e2c: 11 24 eor r1, r1 |
2e2e: 8f c0 rjmp .+286 ; 0x2f4e <atan2_i+0x15a> |
2e30: b6 01 movw r22, r12 |
2e32: 88 27 eor r24, r24 |
2e34: 77 fd sbrc r23, 7 |
2e36: 80 95 com r24 |
2e38: 98 2f mov r25, r24 |
2e3a: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
2e3e: 7b 01 movw r14, r22 |
2e40: 8c 01 movw r16, r24 |
2e42: be 01 movw r22, r28 |
2e44: 88 27 eor r24, r24 |
2e46: 77 fd sbrc r23, 7 |
2e48: 80 95 com r24 |
2e4a: 98 2f mov r25, r24 |
2e4c: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
2e50: 9b 01 movw r18, r22 |
2e52: ac 01 movw r20, r24 |
2e54: c8 01 movw r24, r16 |
2e56: b7 01 movw r22, r14 |
2e58: 0e 94 13 2d call 0x5a26 ; 0x5a26 <__divsf3> |
2e5c: 20 e0 ldi r18, 0x00 ; 0 |
2e5e: 30 e0 ldi r19, 0x00 ; 0 |
2e60: 48 e4 ldi r20, 0x48 ; 72 |
2e62: 52 e4 ldi r21, 0x42 ; 66 |
2e64: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
2e68: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
2e6c: fb 01 movw r30, r22 |
2e6e: 77 ff sbrs r23, 7 |
2e70: 03 c0 rjmp .+6 ; 0x2e78 <atan2_i+0x84> |
2e72: f0 95 com r31 |
2e74: e1 95 neg r30 |
2e76: ff 4f sbci r31, 0xFF ; 255 |
2e78: 31 e0 ldi r19, 0x01 ; 1 |
2e7a: ee 30 cpi r30, 0x0E ; 14 |
2e7c: f3 07 cpc r31, r19 |
2e7e: 34 f4 brge .+12 ; 0x2e8c <atan2_i+0x98> |
2e80: e9 58 subi r30, 0x89 ; 137 |
2e82: fb 4f sbci r31, 0xFB ; 251 |
2e84: 84 91 lpm r24, Z |
2e86: 68 2f mov r22, r24 |
2e88: 77 27 eor r23, r23 |
2e8a: 47 c0 rjmp .+142 ; 0x2f1a <atan2_i+0x126> |
2e8c: 86 e1 ldi r24, 0x16 ; 22 |
2e8e: e7 37 cpi r30, 0x77 ; 119 |
2e90: f8 07 cpc r31, r24 |
2e92: 1c f0 brlt .+6 ; 0x2e9a <atan2_i+0xa6> |
2e94: 6a e5 ldi r22, 0x5A ; 90 |
2e96: 70 e0 ldi r23, 0x00 ; 0 |
2e98: 40 c0 rjmp .+128 ; 0x2f1a <atan2_i+0x126> |
2e9a: 27 e0 ldi r18, 0x07 ; 7 |
2e9c: e6 37 cpi r30, 0x76 ; 118 |
2e9e: f2 07 cpc r31, r18 |
2ea0: 1c f0 brlt .+6 ; 0x2ea8 <atan2_i+0xb4> |
2ea2: 69 e5 ldi r22, 0x59 ; 89 |
2ea4: 70 e0 ldi r23, 0x00 ; 0 |
2ea6: 39 c0 rjmp .+114 ; 0x2f1a <atan2_i+0x126> |
2ea8: 34 e0 ldi r19, 0x04 ; 4 |
2eaa: ee 37 cpi r30, 0x7E ; 126 |
2eac: f3 07 cpc r31, r19 |
2eae: 1c f0 brlt .+6 ; 0x2eb6 <atan2_i+0xc2> |
2eb0: 68 e5 ldi r22, 0x58 ; 88 |
2eb2: 70 e0 ldi r23, 0x00 ; 0 |
2eb4: 32 c0 rjmp .+100 ; 0x2f1a <atan2_i+0x126> |
2eb6: 83 e0 ldi r24, 0x03 ; 3 |
2eb8: e4 33 cpi r30, 0x34 ; 52 |
2eba: f8 07 cpc r31, r24 |
2ebc: 1c f0 brlt .+6 ; 0x2ec4 <atan2_i+0xd0> |
2ebe: 67 e5 ldi r22, 0x57 ; 87 |
2ec0: 70 e0 ldi r23, 0x00 ; 0 |
2ec2: 2b c0 rjmp .+86 ; 0x2f1a <atan2_i+0x126> |
2ec4: 22 e0 ldi r18, 0x02 ; 2 |
2ec6: e0 38 cpi r30, 0x80 ; 128 |
2ec8: f2 07 cpc r31, r18 |
2eca: 1c f0 brlt .+6 ; 0x2ed2 <atan2_i+0xde> |
2ecc: 66 e5 ldi r22, 0x56 ; 86 |
2ece: 70 e0 ldi r23, 0x00 ; 0 |
2ed0: 24 c0 rjmp .+72 ; 0x2f1a <atan2_i+0x126> |
2ed2: 32 e0 ldi r19, 0x02 ; 2 |
2ed4: e8 30 cpi r30, 0x08 ; 8 |
2ed6: f3 07 cpc r31, r19 |
2ed8: 1c f0 brlt .+6 ; 0x2ee0 <atan2_i+0xec> |
2eda: 65 e5 ldi r22, 0x55 ; 85 |
2edc: 70 e0 ldi r23, 0x00 ; 0 |
2ede: 1d c0 rjmp .+58 ; 0x2f1a <atan2_i+0x126> |
2ee0: 81 e0 ldi r24, 0x01 ; 1 |
2ee2: e8 3b cpi r30, 0xB8 ; 184 |
2ee4: f8 07 cpc r31, r24 |
2ee6: 1c f0 brlt .+6 ; 0x2eee <atan2_i+0xfa> |
2ee8: 64 e5 ldi r22, 0x54 ; 84 |
2eea: 70 e0 ldi r23, 0x00 ; 0 |
2eec: 16 c0 rjmp .+44 ; 0x2f1a <atan2_i+0x126> |
2eee: 21 e0 ldi r18, 0x01 ; 1 |
2ef0: ec 37 cpi r30, 0x7C ; 124 |
2ef2: f2 07 cpc r31, r18 |
2ef4: 1c f0 brlt .+6 ; 0x2efc <atan2_i+0x108> |
2ef6: 63 e5 ldi r22, 0x53 ; 83 |
2ef8: 70 e0 ldi r23, 0x00 ; 0 |
2efa: 0f c0 rjmp .+30 ; 0x2f1a <atan2_i+0x126> |
2efc: 31 e0 ldi r19, 0x01 ; 1 |
2efe: ef 34 cpi r30, 0x4F ; 79 |
2f00: f3 07 cpc r31, r19 |
2f02: 1c f0 brlt .+6 ; 0x2f0a <atan2_i+0x116> |
2f04: 62 e5 ldi r22, 0x52 ; 82 |
2f06: 70 e0 ldi r23, 0x00 ; 0 |
2f08: 08 c0 rjmp .+16 ; 0x2f1a <atan2_i+0x126> |
2f0a: eb 52 subi r30, 0x2B ; 43 |
2f0c: f1 40 sbci r31, 0x01 ; 1 |
2f0e: 1c f0 brlt .+6 ; 0x2f16 <atan2_i+0x122> |
2f10: 61 e5 ldi r22, 0x51 ; 81 |
2f12: 70 e0 ldi r23, 0x00 ; 0 |
2f14: 02 c0 rjmp .+4 ; 0x2f1a <atan2_i+0x126> |
2f16: 60 e5 ldi r22, 0x50 ; 80 |
2f18: 70 e0 ldi r23, 0x00 ; 0 |
2f1a: 1c 16 cp r1, r28 |
2f1c: 1d 06 cpc r1, r29 |
2f1e: 6c f4 brge .+26 ; 0x2f3a <atan2_i+0x146> |
2f20: 8b 2d mov r24, r11 |
2f22: 99 27 eor r25, r25 |
2f24: 87 fd sbrc r24, 7 |
2f26: 90 95 com r25 |
2f28: 9c 01 movw r18, r24 |
2f2a: 62 9f mul r22, r18 |
2f2c: c0 01 movw r24, r0 |
2f2e: 63 9f mul r22, r19 |
2f30: 90 0d add r25, r0 |
2f32: 72 9f mul r23, r18 |
2f34: 90 0d add r25, r0 |
2f36: 11 24 eor r1, r1 |
2f38: 0a c0 rjmp .+20 ; 0x2f4e <atan2_i+0x15a> |
2f3a: d7 fc sbrc r13, 7 |
2f3c: 05 c0 rjmp .+10 ; 0x2f48 <atan2_i+0x154> |
2f3e: 84 eb ldi r24, 0xB4 ; 180 |
2f40: 90 e0 ldi r25, 0x00 ; 0 |
2f42: 86 1b sub r24, r22 |
2f44: 97 0b sbc r25, r23 |
2f46: 03 c0 rjmp .+6 ; 0x2f4e <atan2_i+0x15a> |
2f48: cb 01 movw r24, r22 |
2f4a: 84 5b subi r24, 0xB4 ; 180 |
2f4c: 90 40 sbci r25, 0x00 ; 0 |
2f4e: e9 e0 ldi r30, 0x09 ; 9 |
2f50: cd b7 in r28, 0x3d ; 61 |
2f52: de b7 in r29, 0x3e ; 62 |
2f54: 0c 94 e0 2e jmp 0x5dc0 ; 0x5dc0 <__epilogue_restores__+0x12> |
00002f58 <pgm_read_float>: |
2f58: fc 01 movw r30, r24 |
2f5a: 25 91 lpm r18, Z+ |
2f5c: 34 91 lpm r19, Z |
2f5e: fc 01 movw r30, r24 |
2f60: 32 96 adiw r30, 0x02 ; 2 |
2f62: 45 91 lpm r20, Z+ |
2f64: 54 91 lpm r21, Z |
2f66: ca 01 movw r24, r20 |
2f68: b9 01 movw r22, r18 |
2f6a: 08 95 ret |
00002f6c <sin_f>: |
2f6c: a0 e0 ldi r26, 0x00 ; 0 |
2f6e: b0 e0 ldi r27, 0x00 ; 0 |
2f70: ec eb ldi r30, 0xBC ; 188 |
2f72: f7 e1 ldi r31, 0x17 ; 23 |
2f74: 0c 94 c5 2e jmp 0x5d8a ; 0x5d8a <__prologue_saves__+0x14> |
2f78: 9c 01 movw r18, r24 |
2f7a: 97 fd sbrc r25, 7 |
2f7c: 04 c0 rjmp .+8 ; 0x2f86 <sin_f+0x1a> |
2f7e: 61 e0 ldi r22, 0x01 ; 1 |
2f80: c6 2e mov r12, r22 |
2f82: d1 2c mov r13, r1 |
2f84: 06 c0 rjmp .+12 ; 0x2f92 <sin_f+0x26> |
2f86: 30 95 com r19 |
2f88: 21 95 neg r18 |
2f8a: 3f 4f sbci r19, 0xFF ; 255 |
2f8c: 5f ef ldi r21, 0xFF ; 255 |
2f8e: c5 2e mov r12, r21 |
2f90: d5 2e mov r13, r21 |
2f92: c9 01 movw r24, r18 |
2f94: 8b 55 subi r24, 0x5B ; 91 |
2f96: 90 40 sbci r25, 0x00 ; 0 |
2f98: 8a 35 cpi r24, 0x5A ; 90 |
2f9a: 91 05 cpc r25, r1 |
2f9c: 30 f4 brcc .+12 ; 0x2faa <sin_f+0x3e> |
2f9e: 84 eb ldi r24, 0xB4 ; 180 |
2fa0: 90 e0 ldi r25, 0x00 ; 0 |
2fa2: 82 1b sub r24, r18 |
2fa4: 93 0b sbc r25, r19 |
2fa6: 9c 01 movw r18, r24 |
2fa8: 0f c0 rjmp .+30 ; 0x2fc8 <sin_f+0x5c> |
2faa: c9 01 movw r24, r18 |
2fac: 85 5b subi r24, 0xB5 ; 181 |
2fae: 90 40 sbci r25, 0x00 ; 0 |
2fb0: 8a 35 cpi r24, 0x5A ; 90 |
2fb2: 91 05 cpc r25, r1 |
2fb4: 18 f4 brcc .+6 ; 0x2fbc <sin_f+0x50> |
2fb6: 24 5b subi r18, 0xB4 ; 180 |
2fb8: 30 40 sbci r19, 0x00 ; 0 |
2fba: 0e c0 rjmp .+28 ; 0x2fd8 <sin_f+0x6c> |
2fbc: c9 01 movw r24, r18 |
2fbe: 8f 50 subi r24, 0x0F ; 15 |
2fc0: 91 40 sbci r25, 0x01 ; 1 |
2fc2: 8a 35 cpi r24, 0x5A ; 90 |
2fc4: 91 05 cpc r25, r1 |
2fc6: 18 f0 brcs .+6 ; 0x2fce <sin_f+0x62> |
2fc8: c1 e0 ldi r28, 0x01 ; 1 |
2fca: d0 e0 ldi r29, 0x00 ; 0 |
2fcc: 07 c0 rjmp .+14 ; 0x2fdc <sin_f+0x70> |
2fce: 88 e6 ldi r24, 0x68 ; 104 |
2fd0: 91 e0 ldi r25, 0x01 ; 1 |
2fd2: 82 1b sub r24, r18 |
2fd4: 93 0b sbc r25, r19 |
2fd6: 9c 01 movw r18, r24 |
2fd8: cf ef ldi r28, 0xFF ; 255 |
2fda: df ef ldi r29, 0xFF ; 255 |
2fdc: 22 0f add r18, r18 |
2fde: 33 1f adc r19, r19 |
2fe0: 22 0f add r18, r18 |
2fe2: 33 1f adc r19, r19 |
2fe4: c9 01 movw r24, r18 |
2fe6: 8b 57 subi r24, 0x7B ; 123 |
2fe8: 9a 4f sbci r25, 0xFA ; 250 |
2fea: 0e 94 ac 17 call 0x2f58 ; 0x2f58 <pgm_read_float> |
2fee: 7b 01 movw r14, r22 |
2ff0: 8c 01 movw r16, r24 |
2ff2: b6 01 movw r22, r12 |
2ff4: 88 27 eor r24, r24 |
2ff6: 77 fd sbrc r23, 7 |
2ff8: 80 95 com r24 |
2ffa: 98 2f mov r25, r24 |
2ffc: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
3000: 9b 01 movw r18, r22 |
3002: ac 01 movw r20, r24 |
3004: c8 01 movw r24, r16 |
3006: b7 01 movw r22, r14 |
3008: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
300c: 7b 01 movw r14, r22 |
300e: 8c 01 movw r16, r24 |
3010: be 01 movw r22, r28 |
3012: 88 27 eor r24, r24 |
3014: 77 fd sbrc r23, 7 |
3016: 80 95 com r24 |
3018: 98 2f mov r25, r24 |
301a: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
301e: 9b 01 movw r18, r22 |
3020: ac 01 movw r20, r24 |
3022: c8 01 movw r24, r16 |
3024: b7 01 movw r22, r14 |
3026: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
302a: e8 e0 ldi r30, 0x08 ; 8 |
302c: cd b7 in r28, 0x3d ; 61 |
302e: de b7 in r29, 0x3e ; 62 |
3030: 0c 94 e1 2e jmp 0x5dc2 ; 0x5dc2 <__epilogue_restores__+0x14> |
00003034 <cos_f>: |
3034: 2a e5 ldi r18, 0x5A ; 90 |
3036: 30 e0 ldi r19, 0x00 ; 0 |
3038: 28 1b sub r18, r24 |
303a: 39 0b sbc r19, r25 |
303c: c9 01 movw r24, r18 |
303e: 0e 94 b6 17 call 0x2f6c ; 0x2f6c <sin_f> |
3042: 08 95 ret |
00003044 <asin_i>: |
3044: fc 01 movw r30, r24 |
3046: 97 fd sbrc r25, 7 |
3048: 02 c0 rjmp .+4 ; 0x304e <asin_i+0xa> |
304a: 91 e0 ldi r25, 0x01 ; 1 |
304c: 04 c0 rjmp .+8 ; 0x3056 <asin_i+0x12> |
304e: f0 95 com r31 |
3050: e1 95 neg r30 |
3052: ff 4f sbci r31, 0xFF ; 255 |
3054: 9f ef ldi r25, 0xFF ; 255 |
3056: ef 50 subi r30, 0x0F ; 15 |
3058: f9 4f sbci r31, 0xF9 ; 249 |
305a: 84 91 lpm r24, Z |
305c: 98 9f mul r25, r24 |
305e: 80 2d mov r24, r0 |
3060: 11 24 eor r1, r1 |
3062: 99 27 eor r25, r25 |
3064: 87 fd sbrc r24, 7 |
3066: 90 95 com r25 |
3068: 08 95 ret |
0000306a <i2c_init>: |
306a: 10 92 b9 00 sts 0x00B9, r1 |
306e: 8a e2 ldi r24, 0x2A ; 42 |
3070: 80 93 b8 00 sts 0x00B8, r24 |
3074: 08 95 ret |
00003076 <i2c_start>: |
3076: 85 ea ldi r24, 0xA5 ; 165 |
3078: 80 93 bc 00 sts 0x00BC, r24 |
307c: 80 e0 ldi r24, 0x00 ; 0 |
307e: 90 e0 ldi r25, 0x00 ; 0 |
3080: 08 95 ret |
00003082 <i2c_stop>: |
3082: 84 e9 ldi r24, 0x94 ; 148 |
3084: 80 93 bc 00 sts 0x00BC, r24 |
3088: 08 95 ret |
0000308a <i2c_write_byte>: |
308a: 10 92 b9 00 sts 0x00B9, r1 |
308e: 80 93 bb 00 sts 0x00BB, r24 |
3092: 85 e8 ldi r24, 0x85 ; 133 |
3094: 80 93 bc 00 sts 0x00BC, r24 |
3098: 80 e0 ldi r24, 0x00 ; 0 |
309a: 90 e0 ldi r25, 0x00 ; 0 |
309c: 08 95 ret |
0000309e <__vector_26>: |
309e: 1f 92 push r1 |
30a0: 0f 92 push r0 |
30a2: 0f b6 in r0, 0x3f ; 63 |
30a4: 0f 92 push r0 |
30a6: 11 24 eor r1, r1 |
30a8: 8f 93 push r24 |
30aa: 9f 93 push r25 |
30ac: ef 93 push r30 |
30ae: ff 93 push r31 |
30b0: 80 91 ca 01 lds r24, 0x01CA |
30b4: 8f 5f subi r24, 0xFF ; 255 |
30b6: 80 93 ca 01 sts 0x01CA, r24 |
30ba: 81 50 subi r24, 0x01 ; 1 |
30bc: e8 2f mov r30, r24 |
30be: ff 27 eor r31, r31 |
30c0: e8 30 cpi r30, 0x08 ; 8 |
30c2: f1 05 cpc r31, r1 |
30c4: 08 f0 brcs .+2 ; 0x30c8 <__vector_26+0x2a> |
30c6: 74 c0 rjmp .+232 ; 0x31b0 <__vector_26+0x112> |
30c8: e0 5a subi r30, 0xA0 ; 160 |
30ca: ff 4f sbci r31, 0xFF ; 255 |
30cc: 0c 94 f2 2e jmp 0x5de4 ; 0x5de4 <__tablejump2__> |
30d0: 80 91 cb 01 lds r24, 0x01CB |
30d4: 88 0f add r24, r24 |
30d6: 8e 5a subi r24, 0xAE ; 174 |
30d8: 14 c0 rjmp .+40 ; 0x3102 <__vector_26+0x64> |
30da: 80 91 cb 01 lds r24, 0x01CB |
30de: 8f 5f subi r24, 0xFF ; 255 |
30e0: 80 93 cb 01 sts 0x01CB, r24 |
30e4: 81 50 subi r24, 0x01 ; 1 |
30e6: 81 30 cpi r24, 0x01 ; 1 |
30e8: 09 f4 brne .+2 ; 0x30ec <__vector_26+0x4e> |
30ea: 44 c0 rjmp .+136 ; 0x3174 <__vector_26+0xd6> |
30ec: 81 30 cpi r24, 0x01 ; 1 |
30ee: 38 f0 brcs .+14 ; 0x30fe <__vector_26+0x60> |
30f0: 82 30 cpi r24, 0x02 ; 2 |
30f2: 09 f4 brne .+2 ; 0x30f6 <__vector_26+0x58> |
30f4: 42 c0 rjmp .+132 ; 0x317a <__vector_26+0xdc> |
30f6: 83 30 cpi r24, 0x03 ; 3 |
30f8: 09 f0 breq .+2 ; 0x30fc <__vector_26+0x5e> |
30fa: 5a c0 rjmp .+180 ; 0x31b0 <__vector_26+0x112> |
30fc: 41 c0 rjmp .+130 ; 0x3180 <__vector_26+0xe2> |
30fe: 80 91 63 02 lds r24, 0x0263 |
3102: 10 92 b9 00 sts 0x00B9, r1 |
3106: 80 93 bb 00 sts 0x00BB, r24 |
310a: 85 e8 ldi r24, 0x85 ; 133 |
310c: 80 93 bc 00 sts 0x00BC, r24 |
3110: 4f c0 rjmp .+158 ; 0x31b0 <__vector_26+0x112> |
3112: 84 e9 ldi r24, 0x94 ; 148 |
3114: 80 93 bc 00 sts 0x00BC, r24 |
3118: 80 91 cb 01 lds r24, 0x01CB |
311c: 84 30 cpi r24, 0x04 ; 4 |
311e: 18 f4 brcc .+6 ; 0x3126 <__vector_26+0x88> |
3120: 10 92 ca 01 sts 0x01CA, r1 |
3124: 02 c0 rjmp .+4 ; 0x312a <__vector_26+0x8c> |
3126: 10 92 cb 01 sts 0x01CB, r1 |
312a: 85 ea ldi r24, 0xA5 ; 165 |
312c: ef cf rjmp .-34 ; 0x310c <__vector_26+0x6e> |
312e: 80 91 cc 01 lds r24, 0x01CC |
3132: 88 0f add r24, r24 |
3134: 8d 5a subi r24, 0xAD ; 173 |
3136: e5 cf rjmp .-54 ; 0x3102 <__vector_26+0x64> |
3138: 80 91 cc 01 lds r24, 0x01CC |
313c: 81 30 cpi r24, 0x01 ; 1 |
313e: d1 f0 breq .+52 ; 0x3174 <__vector_26+0xd6> |
3140: 81 30 cpi r24, 0x01 ; 1 |
3142: e8 f2 brcs .-70 ; 0x30fe <__vector_26+0x60> |
3144: 82 30 cpi r24, 0x02 ; 2 |
3146: c9 f0 breq .+50 ; 0x317a <__vector_26+0xdc> |
3148: 83 30 cpi r24, 0x03 ; 3 |
314a: 91 f5 brne .+100 ; 0x31b0 <__vector_26+0x112> |
314c: 19 c0 rjmp .+50 ; 0x3180 <__vector_26+0xe2> |
314e: 80 91 bb 00 lds r24, 0x00BB |
3152: e0 91 cc 01 lds r30, 0x01CC |
3156: ff 27 eor r31, r31 |
3158: e8 55 subi r30, 0x58 ; 88 |
315a: fb 4f sbci r31, 0xFB ; 251 |
315c: 80 83 st Z, r24 |
315e: 80 91 cc 01 lds r24, 0x01CC |
3162: 81 30 cpi r24, 0x01 ; 1 |
3164: 39 f0 breq .+14 ; 0x3174 <__vector_26+0xd6> |
3166: 81 30 cpi r24, 0x01 ; 1 |
3168: 50 f2 brcs .-108 ; 0x30fe <__vector_26+0x60> |
316a: 82 30 cpi r24, 0x02 ; 2 |
316c: 31 f0 breq .+12 ; 0x317a <__vector_26+0xdc> |
316e: 83 30 cpi r24, 0x03 ; 3 |
3170: f9 f4 brne .+62 ; 0x31b0 <__vector_26+0x112> |
3172: 06 c0 rjmp .+12 ; 0x3180 <__vector_26+0xe2> |
3174: 80 91 64 02 lds r24, 0x0264 |
3178: c4 cf rjmp .-120 ; 0x3102 <__vector_26+0x64> |
317a: 80 91 67 02 lds r24, 0x0267 |
317e: c1 cf rjmp .-126 ; 0x3102 <__vector_26+0x64> |
3180: 80 91 69 02 lds r24, 0x0269 |
3184: be cf rjmp .-132 ; 0x3102 <__vector_26+0x64> |
3186: 80 91 cc 01 lds r24, 0x01CC |
318a: 90 91 bb 00 lds r25, 0x00BB |
318e: e8 2f mov r30, r24 |
3190: ff 27 eor r31, r31 |
3192: e8 55 subi r30, 0x58 ; 88 |
3194: fb 4f sbci r31, 0xFB ; 251 |
3196: 94 83 std Z+4, r25 ; 0x04 |
3198: 8f 5f subi r24, 0xFF ; 255 |
319a: 80 93 cc 01 sts 0x01CC, r24 |
319e: 84 30 cpi r24, 0x04 ; 4 |
31a0: 10 f0 brcs .+4 ; 0x31a6 <__vector_26+0x108> |
31a2: 10 92 cc 01 sts 0x01CC, r1 |
31a6: 84 e9 ldi r24, 0x94 ; 148 |
31a8: 80 93 bc 00 sts 0x00BC, r24 |
31ac: 10 92 ca 01 sts 0x01CA, r1 |
31b0: ff 91 pop r31 |
31b2: ef 91 pop r30 |
31b4: 9f 91 pop r25 |
31b6: 8f 91 pop r24 |
31b8: 0f 90 pop r0 |
31ba: 0f be out 0x3f, r0 ; 63 |
31bc: 0f 90 pop r0 |
31be: 1f 90 pop r1 |
31c0: 18 95 reti |
000031c2 <rc_sum_init>: |
31c2: 83 ec ldi r24, 0xC3 ; 195 |
31c4: 80 93 81 00 sts 0x0081, r24 |
31c8: ef e6 ldi r30, 0x6F ; 111 |
31ca: f0 e0 ldi r31, 0x00 ; 0 |
31cc: 80 81 ld r24, Z |
31ce: 80 62 ori r24, 0x20 ; 32 |
31d0: 80 83 st Z, r24 |
31d2: 10 92 d7 01 sts 0x01D7, r1 |
31d6: 10 92 d6 01 sts 0x01D6, r1 |
31da: 10 92 d5 01 sts 0x01D5, r1 |
31de: 10 92 d4 01 sts 0x01D4, r1 |
31e2: 10 92 d3 01 sts 0x01D3, r1 |
31e6: 10 92 d2 01 sts 0x01D2, r1 |
31ea: 08 95 ret |
000031ec <__vector_12>: |
31ec: 1f 92 push r1 |
31ee: 0f 92 push r0 |
31f0: 0f b6 in r0, 0x3f ; 63 |
31f2: 0f 92 push r0 |
31f4: 11 24 eor r1, r1 |
31f6: 0f 93 push r16 |
31f8: 1f 93 push r17 |
31fa: 2f 93 push r18 |
31fc: 3f 93 push r19 |
31fe: 4f 93 push r20 |
3200: 5f 93 push r21 |
3202: 6f 93 push r22 |
3204: 7f 93 push r23 |
3206: 8f 93 push r24 |
3208: 9f 93 push r25 |
320a: af 93 push r26 |
320c: bf 93 push r27 |
320e: cf 93 push r28 |
3210: df 93 push r29 |
3212: ef 93 push r30 |
3214: ff 93 push r31 |
3216: 20 91 86 00 lds r18, 0x0086 |
321a: 30 91 87 00 lds r19, 0x0087 |
321e: 80 91 cf 01 lds r24, 0x01CF |
3222: 90 91 d0 01 lds r25, 0x01D0 |
3226: 28 1b sub r18, r24 |
3228: 39 0b sbc r19, r25 |
322a: 80 91 86 00 lds r24, 0x0086 |
322e: 90 91 87 00 lds r25, 0x0087 |
3232: 90 93 d0 01 sts 0x01D0, r25 |
3236: 80 93 cf 01 sts 0x01CF, r24 |
323a: c9 01 movw r24, r18 |
323c: 8d 5d subi r24, 0xDD ; 221 |
323e: 95 40 sbci r25, 0x05 ; 5 |
3240: 83 56 subi r24, 0x63 ; 99 |
3242: 99 41 sbci r25, 0x19 ; 25 |
3244: 48 f4 brcc .+18 ; 0x3258 <__vector_12+0x6c> |
3246: 81 e0 ldi r24, 0x01 ; 1 |
3248: 90 e0 ldi r25, 0x00 ; 0 |
324a: 90 93 ce 01 sts 0x01CE, r25 |
324e: 80 93 cd 01 sts 0x01CD, r24 |
3252: 10 92 69 01 sts 0x0169, r1 |
3256: 54 c0 rjmp .+168 ; 0x3300 <__vector_12+0x114> |
3258: c0 91 cd 01 lds r28, 0x01CD |
325c: d0 91 ce 01 lds r29, 0x01CE |
3260: ca 30 cpi r28, 0x0A ; 10 |
3262: d1 05 cpc r29, r1 |
3264: 0c f0 brlt .+2 ; 0x3268 <__vector_12+0x7c> |
3266: 4c c0 rjmp .+152 ; 0x3300 <__vector_12+0x114> |
3268: c9 01 movw r24, r18 |
326a: 8b 5f subi r24, 0xFB ; 251 |
326c: 90 40 sbci r25, 0x00 ; 0 |
326e: 84 5b subi r24, 0xB4 ; 180 |
3270: 91 40 sbci r25, 0x01 ; 1 |
3272: 08 f0 brcs .+2 ; 0x3276 <__vector_12+0x8a> |
3274: 40 c0 rjmp .+128 ; 0x32f6 <__vector_12+0x10a> |
3276: a9 01 movw r20, r18 |
3278: 42 5d subi r20, 0xD2 ; 210 |
327a: 51 40 sbci r21, 0x01 ; 1 |
327c: fe 01 movw r30, r28 |
327e: ee 0f add r30, r30 |
3280: ff 1f adc r31, r31 |
3282: e0 55 subi r30, 0x50 ; 80 |
3284: fb 4f sbci r31, 0xFB ; 251 |
3286: 80 81 ld r24, Z |
3288: 91 81 ldd r25, Z+1 ; 0x01 |
328a: fa 01 movw r30, r20 |
328c: e8 1b sub r30, r24 |
328e: f9 0b sbc r31, r25 |
3290: cf 01 movw r24, r30 |
3292: f7 ff sbrs r31, 7 |
3294: 03 c0 rjmp .+6 ; 0x329c <__vector_12+0xb0> |
3296: 90 95 com r25 |
3298: 81 95 neg r24 |
329a: 9f 4f sbci r25, 0xFF ; 255 |
329c: 06 97 sbiw r24, 0x06 ; 6 |
329e: 4c f4 brge .+18 ; 0x32b2 <__vector_12+0xc6> |
32a0: 80 91 1a 02 lds r24, 0x021A |
32a4: 88 3c cpi r24, 0xC8 ; 200 |
32a6: 28 f4 brcc .+10 ; 0x32b2 <__vector_12+0xc6> |
32a8: 80 91 1a 02 lds r24, 0x021A |
32ac: 86 5f subi r24, 0xF6 ; 246 |
32ae: 80 93 1a 02 sts 0x021A, r24 |
32b2: fe 01 movw r30, r28 |
32b4: ee 0f add r30, r30 |
32b6: ff 1f adc r31, r31 |
32b8: 8f 01 movw r16, r30 |
32ba: 00 55 subi r16, 0x50 ; 80 |
32bc: 1b 4f sbci r17, 0xFB ; 251 |
32be: d8 01 movw r26, r16 |
32c0: 2d 91 ld r18, X+ |
32c2: 3c 91 ld r19, X |
32c4: c9 01 movw r24, r18 |
32c6: 88 0f add r24, r24 |
32c8: 99 1f adc r25, r25 |
32ca: 82 0f add r24, r18 |
32cc: 93 1f adc r25, r19 |
32ce: 84 0f add r24, r20 |
32d0: 95 1f adc r25, r21 |
32d2: 64 e0 ldi r22, 0x04 ; 4 |
32d4: 70 e0 ldi r23, 0x00 ; 0 |
32d6: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
32da: d8 01 movw r26, r16 |
32dc: 8d 91 ld r24, X+ |
32de: 9c 91 ld r25, X |
32e0: 11 97 sbiw r26, 0x01 ; 1 |
32e2: 9b 01 movw r18, r22 |
32e4: 28 1b sub r18, r24 |
32e6: 39 0b sbc r19, r25 |
32e8: ea 53 subi r30, 0x3A ; 58 |
32ea: fb 4f sbci r31, 0xFB ; 251 |
32ec: 31 83 std Z+1, r19 ; 0x01 |
32ee: 20 83 st Z, r18 |
32f0: 11 96 adiw r26, 0x01 ; 1 |
32f2: 7c 93 st X, r23 |
32f4: 6e 93 st -X, r22 |
32f6: 21 96 adiw r28, 0x01 ; 1 |
32f8: d0 93 ce 01 sts 0x01CE, r29 |
32fc: c0 93 cd 01 sts 0x01CD, r28 |
3300: ff 91 pop r31 |
3302: ef 91 pop r30 |
3304: df 91 pop r29 |
3306: cf 91 pop r28 |
3308: bf 91 pop r27 |
330a: af 91 pop r26 |
330c: 9f 91 pop r25 |
330e: 8f 91 pop r24 |
3310: 7f 91 pop r23 |
3312: 6f 91 pop r22 |
3314: 5f 91 pop r21 |
3316: 4f 91 pop r20 |
3318: 3f 91 pop r19 |
331a: 2f 91 pop r18 |
331c: 1f 91 pop r17 |
331e: 0f 91 pop r16 |
3320: 0f 90 pop r0 |
3322: 0f be out 0x3f, r0 ; 63 |
3324: 0f 90 pop r0 |
3326: 1f 90 pop r1 |
3328: 18 95 reti |
0000332a <Mittelwert>: |
332a: af 92 push r10 |
332c: bf 92 push r11 |
332e: cf 92 push r12 |
3330: df 92 push r13 |
3332: ef 92 push r14 |
3334: ff 92 push r15 |
3336: 0f 93 push r16 |
3338: 1f 93 push r17 |
333a: 10 92 7a 00 sts 0x007A, r1 |
333e: 80 91 b9 01 lds r24, 0x01B9 |
3342: 88 23 and r24, r24 |
3344: 69 f0 breq .+26 ; 0x3360 <Mittelwert+0x36> |
3346: 80 91 ad 01 lds r24, 0x01AD |
334a: 90 91 ae 01 lds r25, 0x01AE |
334e: 60 91 b9 01 lds r22, 0x01B9 |
3352: 77 27 eor r23, r23 |
3354: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
3358: 70 93 19 05 sts 0x0519, r23 |
335c: 60 93 18 05 sts 0x0518, r22 |
3360: 80 91 ba 01 lds r24, 0x01BA |
3364: 88 23 and r24, r24 |
3366: 69 f0 breq .+26 ; 0x3382 <Mittelwert+0x58> |
3368: 80 91 af 01 lds r24, 0x01AF |
336c: 90 91 b0 01 lds r25, 0x01B0 |
3370: 60 91 ba 01 lds r22, 0x01BA |
3374: 77 27 eor r23, r23 |
3376: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
337a: 70 93 17 05 sts 0x0517, r23 |
337e: 60 93 16 05 sts 0x0516, r22 |
3382: 80 91 bb 01 lds r24, 0x01BB |
3386: 88 23 and r24, r24 |
3388: 69 f0 breq .+26 ; 0x33a4 <Mittelwert+0x7a> |
338a: 80 91 b1 01 lds r24, 0x01B1 |
338e: 90 91 b2 01 lds r25, 0x01B2 |
3392: 60 91 bb 01 lds r22, 0x01BB |
3396: 77 27 eor r23, r23 |
3398: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
339c: 70 93 2d 05 sts 0x052D, r23 |
33a0: 60 93 2c 05 sts 0x052C, r22 |
33a4: 80 91 bc 01 lds r24, 0x01BC |
33a8: 88 23 and r24, r24 |
33aa: d9 f1 breq .+118 ; 0x3422 <Mittelwert+0xf8> |
33ac: e0 90 29 05 lds r14, 0x0529 |
33b0: f0 90 2a 05 lds r15, 0x052A |
33b4: 60 91 b5 01 lds r22, 0x01B5 |
33b8: 70 91 b6 01 lds r23, 0x01B6 |
33bc: 20 91 bc 01 lds r18, 0x01BC |
33c0: 00 27 eor r16, r16 |
33c2: f7 fc sbrc r15, 7 |
33c4: 00 95 com r16 |
33c6: 10 2f mov r17, r16 |
33c8: 57 01 movw r10, r14 |
33ca: 68 01 movw r12, r16 |
33cc: 43 e0 ldi r20, 0x03 ; 3 |
33ce: aa 0c add r10, r10 |
33d0: bb 1c adc r11, r11 |
33d2: cc 1c adc r12, r12 |
33d4: dd 1c adc r13, r13 |
33d6: 4a 95 dec r20 |
33d8: d1 f7 brne .-12 ; 0x33ce <Mittelwert+0xa4> |
33da: ae 18 sub r10, r14 |
33dc: bf 08 sbc r11, r15 |
33de: c0 0a sbc r12, r16 |
33e0: d1 0a sbc r13, r17 |
33e2: 88 27 eor r24, r24 |
33e4: 77 fd sbrc r23, 7 |
33e6: 80 95 com r24 |
33e8: 98 2f mov r25, r24 |
33ea: 34 e0 ldi r19, 0x04 ; 4 |
33ec: 66 0f add r22, r22 |
33ee: 77 1f adc r23, r23 |
33f0: 88 1f adc r24, r24 |
33f2: 99 1f adc r25, r25 |
33f4: 3a 95 dec r19 |
33f6: d1 f7 brne .-12 ; 0x33ec <Mittelwert+0xc2> |
33f8: 33 27 eor r19, r19 |
33fa: 44 27 eor r20, r20 |
33fc: 55 27 eor r21, r21 |
33fe: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
3402: a2 0e add r10, r18 |
3404: b3 1e adc r11, r19 |
3406: c4 1e adc r12, r20 |
3408: d5 1e adc r13, r21 |
340a: c6 01 movw r24, r12 |
340c: b5 01 movw r22, r10 |
340e: 28 e0 ldi r18, 0x08 ; 8 |
3410: 30 e0 ldi r19, 0x00 ; 0 |
3412: 40 e0 ldi r20, 0x00 ; 0 |
3414: 50 e0 ldi r21, 0x00 ; 0 |
3416: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
341a: 30 93 2a 05 sts 0x052A, r19 |
341e: 20 93 29 05 sts 0x0529, r18 |
3422: 80 91 bd 01 lds r24, 0x01BD |
3426: 88 23 and r24, r24 |
3428: d9 f1 breq .+118 ; 0x34a0 <Mittelwert+0x176> |
342a: e0 90 32 05 lds r14, 0x0532 |
342e: f0 90 33 05 lds r15, 0x0533 |
3432: 60 91 b3 01 lds r22, 0x01B3 |
3436: 70 91 b4 01 lds r23, 0x01B4 |
343a: 20 91 bd 01 lds r18, 0x01BD |
343e: 00 27 eor r16, r16 |
3440: f7 fc sbrc r15, 7 |
3442: 00 95 com r16 |
3444: 10 2f mov r17, r16 |
3446: 57 01 movw r10, r14 |
3448: 68 01 movw r12, r16 |
344a: 83 e0 ldi r24, 0x03 ; 3 |
344c: aa 0c add r10, r10 |
344e: bb 1c adc r11, r11 |
3450: cc 1c adc r12, r12 |
3452: dd 1c adc r13, r13 |
3454: 8a 95 dec r24 |
3456: d1 f7 brne .-12 ; 0x344c <Mittelwert+0x122> |
3458: ae 18 sub r10, r14 |
345a: bf 08 sbc r11, r15 |
345c: c0 0a sbc r12, r16 |
345e: d1 0a sbc r13, r17 |
3460: 88 27 eor r24, r24 |
3462: 77 fd sbrc r23, 7 |
3464: 80 95 com r24 |
3466: 98 2f mov r25, r24 |
3468: b4 e0 ldi r27, 0x04 ; 4 |
346a: 66 0f add r22, r22 |
346c: 77 1f adc r23, r23 |
346e: 88 1f adc r24, r24 |
3470: 99 1f adc r25, r25 |
3472: ba 95 dec r27 |
3474: d1 f7 brne .-12 ; 0x346a <Mittelwert+0x140> |
3476: 33 27 eor r19, r19 |
3478: 44 27 eor r20, r20 |
347a: 55 27 eor r21, r21 |
347c: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
3480: a2 0e add r10, r18 |
3482: b3 1e adc r11, r19 |
3484: c4 1e adc r12, r20 |
3486: d5 1e adc r13, r21 |
3488: c6 01 movw r24, r12 |
348a: b5 01 movw r22, r10 |
348c: 28 e0 ldi r18, 0x08 ; 8 |
348e: 30 e0 ldi r19, 0x00 ; 0 |
3490: 40 e0 ldi r20, 0x00 ; 0 |
3492: 50 e0 ldi r21, 0x00 ; 0 |
3494: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
3498: 30 93 33 05 sts 0x0533, r19 |
349c: 20 93 32 05 sts 0x0532, r18 |
34a0: 80 91 be 01 lds r24, 0x01BE |
34a4: 88 23 and r24, r24 |
34a6: a1 f1 breq .+104 ; 0x3510 <Mittelwert+0x1e6> |
34a8: e0 90 1b 05 lds r14, 0x051B |
34ac: f0 90 1c 05 lds r15, 0x051C |
34b0: 60 91 b7 01 lds r22, 0x01B7 |
34b4: 70 91 b8 01 lds r23, 0x01B8 |
34b8: 20 91 be 01 lds r18, 0x01BE |
34bc: 00 27 eor r16, r16 |
34be: f7 fc sbrc r15, 7 |
34c0: 00 95 com r16 |
34c2: 10 2f mov r17, r16 |
34c4: 57 01 movw r10, r14 |
34c6: 68 01 movw r12, r16 |
34c8: a3 e0 ldi r26, 0x03 ; 3 |
34ca: aa 0c add r10, r10 |
34cc: bb 1c adc r11, r11 |
34ce: cc 1c adc r12, r12 |
34d0: dd 1c adc r13, r13 |
34d2: aa 95 dec r26 |
34d4: d1 f7 brne .-12 ; 0x34ca <Mittelwert+0x1a0> |
34d6: ae 18 sub r10, r14 |
34d8: bf 08 sbc r11, r15 |
34da: c0 0a sbc r12, r16 |
34dc: d1 0a sbc r13, r17 |
34de: 88 27 eor r24, r24 |
34e0: 77 fd sbrc r23, 7 |
34e2: 80 95 com r24 |
34e4: 98 2f mov r25, r24 |
34e6: 33 27 eor r19, r19 |
34e8: 44 27 eor r20, r20 |
34ea: 55 27 eor r21, r21 |
34ec: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
34f0: a2 0e add r10, r18 |
34f2: b3 1e adc r11, r19 |
34f4: c4 1e adc r12, r20 |
34f6: d5 1e adc r13, r21 |
34f8: c6 01 movw r24, r12 |
34fa: b5 01 movw r22, r10 |
34fc: 28 e0 ldi r18, 0x08 ; 8 |
34fe: 30 e0 ldi r19, 0x00 ; 0 |
3500: 40 e0 ldi r20, 0x00 ; 0 |
3502: 50 e0 ldi r21, 0x00 ; 0 |
3504: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
3508: 30 93 1c 05 sts 0x051C, r19 |
350c: 20 93 1b 05 sts 0x051B, r18 |
3510: 10 92 ae 01 sts 0x01AE, r1 |
3514: 10 92 ad 01 sts 0x01AD, r1 |
3518: 10 92 b9 01 sts 0x01B9, r1 |
351c: 10 92 b0 01 sts 0x01B0, r1 |
3520: 10 92 af 01 sts 0x01AF, r1 |
3524: 10 92 ba 01 sts 0x01BA, r1 |
3528: 10 92 b2 01 sts 0x01B2, r1 |
352c: 10 92 b1 01 sts 0x01B1, r1 |
3530: 10 92 bb 01 sts 0x01BB, r1 |
3534: 10 92 b4 01 sts 0x01B4, r1 |
3538: 10 92 b3 01 sts 0x01B3, r1 |
353c: 10 92 bd 01 sts 0x01BD, r1 |
3540: 10 92 b6 01 sts 0x01B6, r1 |
3544: 10 92 b5 01 sts 0x01B5, r1 |
3548: 10 92 bc 01 sts 0x01BC, r1 |
354c: 10 92 b8 01 sts 0x01B8, r1 |
3550: 10 92 b7 01 sts 0x01B7, r1 |
3554: 10 92 be 01 sts 0x01BE, r1 |
3558: 80 91 fe 01 lds r24, 0x01FE |
355c: 90 91 ff 01 lds r25, 0x01FF |
3560: a0 91 00 02 lds r26, 0x0200 |
3564: b0 91 01 02 lds r27, 0x0201 |
3568: 80 93 ea 01 sts 0x01EA, r24 |
356c: 90 93 eb 01 sts 0x01EB, r25 |
3570: a0 93 ec 01 sts 0x01EC, r26 |
3574: b0 93 ed 01 sts 0x01ED, r27 |
3578: 80 91 ee 01 lds r24, 0x01EE |
357c: 90 91 ef 01 lds r25, 0x01EF |
3580: a0 91 f0 01 lds r26, 0x01F0 |
3584: b0 91 f1 01 lds r27, 0x01F1 |
3588: 80 93 da 01 sts 0x01DA, r24 |
358c: 90 93 db 01 sts 0x01DB, r25 |
3590: a0 93 dc 01 sts 0x01DC, r26 |
3594: b0 93 dd 01 sts 0x01DD, r27 |
3598: 80 91 f6 01 lds r24, 0x01F6 |
359c: 90 91 f7 01 lds r25, 0x01F7 |
35a0: a0 91 f8 01 lds r26, 0x01F8 |
35a4: b0 91 f9 01 lds r27, 0x01F9 |
35a8: 80 93 e2 01 sts 0x01E2, r24 |
35ac: 90 93 e3 01 sts 0x01E3, r25 |
35b0: a0 93 e4 01 sts 0x01E4, r26 |
35b4: b0 93 e5 01 sts 0x01E5, r27 |
35b8: 80 91 f2 01 lds r24, 0x01F2 |
35bc: 90 91 f3 01 lds r25, 0x01F3 |
35c0: a0 91 f4 01 lds r26, 0x01F4 |
35c4: b0 91 f5 01 lds r27, 0x01F5 |
35c8: 80 93 de 01 sts 0x01DE, r24 |
35cc: 90 93 df 01 sts 0x01DF, r25 |
35d0: a0 93 e0 01 sts 0x01E0, r26 |
35d4: b0 93 e1 01 sts 0x01E1, r27 |
35d8: 80 91 fa 01 lds r24, 0x01FA |
35dc: 90 91 fb 01 lds r25, 0x01FB |
35e0: a0 91 fc 01 lds r26, 0x01FC |
35e4: b0 91 fd 01 lds r27, 0x01FD |
35e8: 80 93 e6 01 sts 0x01E6, r24 |
35ec: 90 93 e7 01 sts 0x01E7, r25 |
35f0: a0 93 e8 01 sts 0x01E8, r26 |
35f4: b0 93 e9 01 sts 0x01E9, r27 |
35f8: 8f ee ldi r24, 0xEF ; 239 |
35fa: 80 93 7a 00 sts 0x007A, r24 |
35fe: 80 91 18 05 lds r24, 0x0518 |
3602: 90 91 19 05 lds r25, 0x0519 |
3606: 89 3c cpi r24, 0xC9 ; 201 |
3608: 91 05 cpc r25, r1 |
360a: 7c f0 brlt .+30 ; 0x362a <Mittelwert+0x300> |
360c: 20 91 18 05 lds r18, 0x0518 |
3610: 30 91 19 05 lds r19, 0x0519 |
3614: 80 91 18 05 lds r24, 0x0518 |
3618: 90 91 19 05 lds r25, 0x0519 |
361c: 88 0f add r24, r24 |
361e: 99 1f adc r25, r25 |
3620: 88 0f add r24, r24 |
3622: 99 1f adc r25, r25 |
3624: 20 52 subi r18, 0x20 ; 32 |
3626: 33 40 sbci r19, 0x03 ; 3 |
3628: 15 c0 rjmp .+42 ; 0x3654 <Mittelwert+0x32a> |
362a: 80 91 18 05 lds r24, 0x0518 |
362e: 90 91 19 05 lds r25, 0x0519 |
3632: 88 53 subi r24, 0x38 ; 56 |
3634: 9f 4f sbci r25, 0xFF ; 255 |
3636: a4 f4 brge .+40 ; 0x3660 <Mittelwert+0x336> |
3638: 20 91 18 05 lds r18, 0x0518 |
363c: 30 91 19 05 lds r19, 0x0519 |
3640: 80 91 18 05 lds r24, 0x0518 |
3644: 90 91 19 05 lds r25, 0x0519 |
3648: 88 0f add r24, r24 |
364a: 99 1f adc r25, r25 |
364c: 88 0f add r24, r24 |
364e: 99 1f adc r25, r25 |
3650: 20 5e subi r18, 0xE0 ; 224 |
3652: 3c 4f sbci r19, 0xFC ; 252 |
3654: 82 0f add r24, r18 |
3656: 93 1f adc r25, r19 |
3658: 90 93 19 05 sts 0x0519, r25 |
365c: 80 93 18 05 sts 0x0518, r24 |
3660: 80 91 16 05 lds r24, 0x0516 |
3664: 90 91 17 05 lds r25, 0x0517 |
3668: 89 3c cpi r24, 0xC9 ; 201 |
366a: 91 05 cpc r25, r1 |
366c: 7c f0 brlt .+30 ; 0x368c <Mittelwert+0x362> |
366e: 20 91 16 05 lds r18, 0x0516 |
3672: 30 91 17 05 lds r19, 0x0517 |
3676: 80 91 16 05 lds r24, 0x0516 |
367a: 90 91 17 05 lds r25, 0x0517 |
367e: 88 0f add r24, r24 |
3680: 99 1f adc r25, r25 |
3682: 88 0f add r24, r24 |
3684: 99 1f adc r25, r25 |
3686: 20 52 subi r18, 0x20 ; 32 |
3688: 33 40 sbci r19, 0x03 ; 3 |
368a: 15 c0 rjmp .+42 ; 0x36b6 <Mittelwert+0x38c> |
368c: 80 91 16 05 lds r24, 0x0516 |
3690: 90 91 17 05 lds r25, 0x0517 |
3694: 88 53 subi r24, 0x38 ; 56 |
3696: 9f 4f sbci r25, 0xFF ; 255 |
3698: a4 f4 brge .+40 ; 0x36c2 <Mittelwert+0x398> |
369a: 20 91 16 05 lds r18, 0x0516 |
369e: 30 91 17 05 lds r19, 0x0517 |
36a2: 80 91 16 05 lds r24, 0x0516 |
36a6: 90 91 17 05 lds r25, 0x0517 |
36aa: 88 0f add r24, r24 |
36ac: 99 1f adc r25, r25 |
36ae: 88 0f add r24, r24 |
36b0: 99 1f adc r25, r25 |
36b2: 20 5e subi r18, 0xE0 ; 224 |
36b4: 3c 4f sbci r19, 0xFC ; 252 |
36b6: 82 0f add r24, r18 |
36b8: 93 1f adc r25, r19 |
36ba: 90 93 17 05 sts 0x0517, r25 |
36be: 80 93 16 05 sts 0x0516, r24 |
36c2: 20 91 12 02 lds r18, 0x0212 |
36c6: 30 91 13 02 lds r19, 0x0213 |
36ca: 80 91 e0 04 lds r24, 0x04E0 |
36ce: e8 2f mov r30, r24 |
36d0: ff 27 eor r31, r31 |
36d2: ee 0f add r30, r30 |
36d4: ff 1f adc r31, r31 |
36d6: e0 55 subi r30, 0x50 ; 80 |
36d8: fb 4f sbci r31, 0xFB ; 251 |
36da: 80 81 ld r24, Z |
36dc: 91 81 ldd r25, Z+1 ; 0x01 |
36de: 82 59 subi r24, 0x92 ; 146 |
36e0: 9f 4f sbci r25, 0xFF ; 255 |
36e2: 28 17 cp r18, r24 |
36e4: 39 07 cpc r19, r25 |
36e6: 1c f4 brge .+6 ; 0x36ee <Mittelwert+0x3c4> |
36e8: 2f 5f subi r18, 0xFF ; 255 |
36ea: 3f 4f sbci r19, 0xFF ; 255 |
36ec: 0c c0 rjmp .+24 ; 0x3706 <Mittelwert+0x3dc> |
36ee: 80 81 ld r24, Z |
36f0: 91 81 ldd r25, Z+1 ; 0x01 |
36f2: 82 59 subi r24, 0x92 ; 146 |
36f4: 9f 4f sbci r25, 0xFF ; 255 |
36f6: 82 17 cp r24, r18 |
36f8: 93 07 cpc r25, r19 |
36fa: 4c f4 brge .+18 ; 0x370e <Mittelwert+0x3e4> |
36fc: 21 15 cp r18, r1 |
36fe: 31 05 cpc r19, r1 |
3700: 31 f0 breq .+12 ; 0x370e <Mittelwert+0x3e4> |
3702: 21 50 subi r18, 0x01 ; 1 |
3704: 30 40 sbci r19, 0x00 ; 0 |
3706: 30 93 13 02 sts 0x0213, r19 |
370a: 20 93 12 02 sts 0x0212, r18 |
370e: 20 91 14 02 lds r18, 0x0214 |
3712: 30 91 15 02 lds r19, 0x0215 |
3716: 80 91 e1 04 lds r24, 0x04E1 |
371a: e8 2f mov r30, r24 |
371c: ff 27 eor r31, r31 |
371e: ee 0f add r30, r30 |
3720: ff 1f adc r31, r31 |
3722: e0 55 subi r30, 0x50 ; 80 |
3724: fb 4f sbci r31, 0xFB ; 251 |
3726: 80 81 ld r24, Z |
3728: 91 81 ldd r25, Z+1 ; 0x01 |
372a: 82 59 subi r24, 0x92 ; 146 |
372c: 9f 4f sbci r25, 0xFF ; 255 |
372e: 28 17 cp r18, r24 |
3730: 39 07 cpc r19, r25 |
3732: 1c f4 brge .+6 ; 0x373a <Mittelwert+0x410> |
3734: 2f 5f subi r18, 0xFF ; 255 |
3736: 3f 4f sbci r19, 0xFF ; 255 |
3738: 0c c0 rjmp .+24 ; 0x3752 <Mittelwert+0x428> |
373a: 80 81 ld r24, Z |
373c: 91 81 ldd r25, Z+1 ; 0x01 |
373e: 82 59 subi r24, 0x92 ; 146 |
3740: 9f 4f sbci r25, 0xFF ; 255 |
3742: 82 17 cp r24, r18 |
3744: 93 07 cpc r25, r19 |
3746: 4c f4 brge .+18 ; 0x375a <Mittelwert+0x430> |
3748: 21 15 cp r18, r1 |
374a: 31 05 cpc r19, r1 |
374c: 31 f0 breq .+12 ; 0x375a <Mittelwert+0x430> |
374e: 21 50 subi r18, 0x01 ; 1 |
3750: 30 40 sbci r19, 0x00 ; 0 |
3752: 30 93 15 02 sts 0x0215, r19 |
3756: 20 93 14 02 sts 0x0214, r18 |
375a: 20 91 16 02 lds r18, 0x0216 |
375e: 30 91 17 02 lds r19, 0x0217 |
3762: 80 91 e2 04 lds r24, 0x04E2 |
3766: e8 2f mov r30, r24 |
3768: ff 27 eor r31, r31 |
376a: ee 0f add r30, r30 |
376c: ff 1f adc r31, r31 |
376e: e0 55 subi r30, 0x50 ; 80 |
3770: fb 4f sbci r31, 0xFB ; 251 |
3772: 80 81 ld r24, Z |
3774: 91 81 ldd r25, Z+1 ; 0x01 |
3776: 82 59 subi r24, 0x92 ; 146 |
3778: 9f 4f sbci r25, 0xFF ; 255 |
377a: 28 17 cp r18, r24 |
377c: 39 07 cpc r19, r25 |
377e: 1c f4 brge .+6 ; 0x3786 <Mittelwert+0x45c> |
3780: 2f 5f subi r18, 0xFF ; 255 |
3782: 3f 4f sbci r19, 0xFF ; 255 |
3784: 0c c0 rjmp .+24 ; 0x379e <Mittelwert+0x474> |
3786: 80 81 ld r24, Z |
3788: 91 81 ldd r25, Z+1 ; 0x01 |
378a: 82 59 subi r24, 0x92 ; 146 |
378c: 9f 4f sbci r25, 0xFF ; 255 |
378e: 82 17 cp r24, r18 |
3790: 93 07 cpc r25, r19 |
3792: 4c f4 brge .+18 ; 0x37a6 <Mittelwert+0x47c> |
3794: 21 15 cp r18, r1 |
3796: 31 05 cpc r19, r1 |
3798: 31 f0 breq .+12 ; 0x37a6 <Mittelwert+0x47c> |
379a: 21 50 subi r18, 0x01 ; 1 |
379c: 30 40 sbci r19, 0x00 ; 0 |
379e: 30 93 17 02 sts 0x0217, r19 |
37a2: 20 93 16 02 sts 0x0216, r18 |
37a6: 20 91 18 02 lds r18, 0x0218 |
37aa: 30 91 19 02 lds r19, 0x0219 |
37ae: 80 91 e3 04 lds r24, 0x04E3 |
37b2: e8 2f mov r30, r24 |
37b4: ff 27 eor r31, r31 |
37b6: ee 0f add r30, r30 |
37b8: ff 1f adc r31, r31 |
37ba: e0 55 subi r30, 0x50 ; 80 |
37bc: fb 4f sbci r31, 0xFB ; 251 |
37be: 80 81 ld r24, Z |
37c0: 91 81 ldd r25, Z+1 ; 0x01 |
37c2: 82 59 subi r24, 0x92 ; 146 |
37c4: 9f 4f sbci r25, 0xFF ; 255 |
37c6: 28 17 cp r18, r24 |
37c8: 39 07 cpc r19, r25 |
37ca: 1c f4 brge .+6 ; 0x37d2 <Mittelwert+0x4a8> |
37cc: 2f 5f subi r18, 0xFF ; 255 |
37ce: 3f 4f sbci r19, 0xFF ; 255 |
37d0: 0c c0 rjmp .+24 ; 0x37ea <Mittelwert+0x4c0> |
37d2: 80 81 ld r24, Z |
37d4: 91 81 ldd r25, Z+1 ; 0x01 |
37d6: 82 59 subi r24, 0x92 ; 146 |
37d8: 9f 4f sbci r25, 0xFF ; 255 |
37da: 82 17 cp r24, r18 |
37dc: 93 07 cpc r25, r19 |
37de: 4c f4 brge .+18 ; 0x37f2 <Mittelwert+0x4c8> |
37e0: 21 15 cp r18, r1 |
37e2: 31 05 cpc r19, r1 |
37e4: 31 f0 breq .+12 ; 0x37f2 <Mittelwert+0x4c8> |
37e6: 21 50 subi r18, 0x01 ; 1 |
37e8: 30 40 sbci r19, 0x00 ; 0 |
37ea: 30 93 19 02 sts 0x0219, r19 |
37ee: 20 93 18 02 sts 0x0218, r18 |
37f2: 80 91 12 02 lds r24, 0x0212 |
37f6: 90 91 13 02 lds r25, 0x0213 |
37fa: 97 ff sbrs r25, 7 |
37fc: 05 c0 rjmp .+10 ; 0x3808 <Mittelwert+0x4de> |
37fe: 10 92 13 02 sts 0x0213, r1 |
3802: 10 92 12 02 sts 0x0212, r1 |
3806: 0a c0 rjmp .+20 ; 0x381c <Mittelwert+0x4f2> |
3808: 8f 3f cpi r24, 0xFF ; 255 |
380a: 91 05 cpc r25, r1 |
380c: 39 f0 breq .+14 ; 0x381c <Mittelwert+0x4f2> |
380e: 34 f0 brlt .+12 ; 0x381c <Mittelwert+0x4f2> |
3810: 8f ef ldi r24, 0xFF ; 255 |
3812: 90 e0 ldi r25, 0x00 ; 0 |
3814: 90 93 13 02 sts 0x0213, r25 |
3818: 80 93 12 02 sts 0x0212, r24 |
381c: 80 91 14 02 lds r24, 0x0214 |
3820: 90 91 15 02 lds r25, 0x0215 |
3824: 97 ff sbrs r25, 7 |
3826: 05 c0 rjmp .+10 ; 0x3832 <Mittelwert+0x508> |
3828: 10 92 15 02 sts 0x0215, r1 |
382c: 10 92 14 02 sts 0x0214, r1 |
3830: 0a c0 rjmp .+20 ; 0x3846 <Mittelwert+0x51c> |
3832: 8f 3f cpi r24, 0xFF ; 255 |
3834: 91 05 cpc r25, r1 |
3836: 39 f0 breq .+14 ; 0x3846 <Mittelwert+0x51c> |
3838: 34 f0 brlt .+12 ; 0x3846 <Mittelwert+0x51c> |
383a: 8f ef ldi r24, 0xFF ; 255 |
383c: 90 e0 ldi r25, 0x00 ; 0 |
383e: 90 93 15 02 sts 0x0215, r25 |
3842: 80 93 14 02 sts 0x0214, r24 |
3846: 80 91 16 02 lds r24, 0x0216 |
384a: 90 91 17 02 lds r25, 0x0217 |
384e: 97 ff sbrs r25, 7 |
3850: 05 c0 rjmp .+10 ; 0x385c <Mittelwert+0x532> |
3852: 10 92 17 02 sts 0x0217, r1 |
3856: 10 92 16 02 sts 0x0216, r1 |
385a: 0a c0 rjmp .+20 ; 0x3870 <Mittelwert+0x546> |
385c: 8f 3f cpi r24, 0xFF ; 255 |
385e: 91 05 cpc r25, r1 |
3860: 39 f0 breq .+14 ; 0x3870 <Mittelwert+0x546> |
3862: 34 f0 brlt .+12 ; 0x3870 <Mittelwert+0x546> |
3864: 8f ef ldi r24, 0xFF ; 255 |
3866: 90 e0 ldi r25, 0x00 ; 0 |
3868: 90 93 17 02 sts 0x0217, r25 |
386c: 80 93 16 02 sts 0x0216, r24 |
3870: 80 91 18 02 lds r24, 0x0218 |
3874: 90 91 19 02 lds r25, 0x0219 |
3878: 97 ff sbrs r25, 7 |
387a: 05 c0 rjmp .+10 ; 0x3886 <Mittelwert+0x55c> |
387c: 10 92 19 02 sts 0x0219, r1 |
3880: 10 92 18 02 sts 0x0218, r1 |
3884: 0a c0 rjmp .+20 ; 0x389a <Mittelwert+0x570> |
3886: 8f 3f cpi r24, 0xFF ; 255 |
3888: 91 05 cpc r25, r1 |
388a: 39 f0 breq .+14 ; 0x389a <Mittelwert+0x570> |
388c: 34 f0 brlt .+12 ; 0x389a <Mittelwert+0x570> |
388e: 8f ef ldi r24, 0xFF ; 255 |
3890: 90 e0 ldi r25, 0x00 ; 0 |
3892: 90 93 19 02 sts 0x0219, r25 |
3896: 80 93 18 02 sts 0x0218, r24 |
389a: 1f 91 pop r17 |
389c: 0f 91 pop r16 |
389e: ff 90 pop r15 |
38a0: ef 90 pop r14 |
38a2: df 90 pop r13 |
38a4: cf 90 pop r12 |
38a6: bf 90 pop r11 |
38a8: af 90 pop r10 |
38aa: 08 95 ret |
000038ac <CalibrierMittelwert>: |
38ac: 10 92 7a 00 sts 0x007A, r1 |
38b0: 80 91 b9 01 lds r24, 0x01B9 |
38b4: 88 23 and r24, r24 |
38b6: 69 f0 breq .+26 ; 0x38d2 <CalibrierMittelwert+0x26> |
38b8: 80 91 ad 01 lds r24, 0x01AD |
38bc: 90 91 ae 01 lds r25, 0x01AE |
38c0: 60 91 b9 01 lds r22, 0x01B9 |
38c4: 77 27 eor r23, r23 |
38c6: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
38ca: 70 93 19 05 sts 0x0519, r23 |
38ce: 60 93 18 05 sts 0x0518, r22 |
38d2: 80 91 ba 01 lds r24, 0x01BA |
38d6: 88 23 and r24, r24 |
38d8: 69 f0 breq .+26 ; 0x38f4 <CalibrierMittelwert+0x48> |
38da: 80 91 af 01 lds r24, 0x01AF |
38de: 90 91 b0 01 lds r25, 0x01B0 |
38e2: 60 91 ba 01 lds r22, 0x01BA |
38e6: 77 27 eor r23, r23 |
38e8: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
38ec: 70 93 17 05 sts 0x0517, r23 |
38f0: 60 93 16 05 sts 0x0516, r22 |
38f4: 80 91 bb 01 lds r24, 0x01BB |
38f8: 88 23 and r24, r24 |
38fa: 69 f0 breq .+26 ; 0x3916 <CalibrierMittelwert+0x6a> |
38fc: 80 91 b1 01 lds r24, 0x01B1 |
3900: 90 91 b2 01 lds r25, 0x01B2 |
3904: 60 91 bb 01 lds r22, 0x01BB |
3908: 77 27 eor r23, r23 |
390a: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
390e: 70 93 2d 05 sts 0x052D, r23 |
3912: 60 93 2c 05 sts 0x052C, r22 |
3916: 80 91 bc 01 lds r24, 0x01BC |
391a: 88 23 and r24, r24 |
391c: d1 f0 breq .+52 ; 0x3952 <CalibrierMittelwert+0xa6> |
391e: 60 91 b5 01 lds r22, 0x01B5 |
3922: 70 91 b6 01 lds r23, 0x01B6 |
3926: 20 91 bc 01 lds r18, 0x01BC |
392a: 88 27 eor r24, r24 |
392c: 77 fd sbrc r23, 7 |
392e: 80 95 com r24 |
3930: 98 2f mov r25, r24 |
3932: 34 e0 ldi r19, 0x04 ; 4 |
3934: 66 0f add r22, r22 |
3936: 77 1f adc r23, r23 |
3938: 88 1f adc r24, r24 |
393a: 99 1f adc r25, r25 |
393c: 3a 95 dec r19 |
393e: d1 f7 brne .-12 ; 0x3934 <CalibrierMittelwert+0x88> |
3940: 33 27 eor r19, r19 |
3942: 44 27 eor r20, r20 |
3944: 55 27 eor r21, r21 |
3946: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
394a: 30 93 2a 05 sts 0x052A, r19 |
394e: 20 93 29 05 sts 0x0529, r18 |
3952: 80 91 bd 01 lds r24, 0x01BD |
3956: 88 23 and r24, r24 |
3958: d1 f0 breq .+52 ; 0x398e <CalibrierMittelwert+0xe2> |
395a: 60 91 b3 01 lds r22, 0x01B3 |
395e: 70 91 b4 01 lds r23, 0x01B4 |
3962: 20 91 bd 01 lds r18, 0x01BD |
3966: 88 27 eor r24, r24 |
3968: 77 fd sbrc r23, 7 |
396a: 80 95 com r24 |
396c: 98 2f mov r25, r24 |
396e: b4 e0 ldi r27, 0x04 ; 4 |
3970: 66 0f add r22, r22 |
3972: 77 1f adc r23, r23 |
3974: 88 1f adc r24, r24 |
3976: 99 1f adc r25, r25 |
3978: ba 95 dec r27 |
397a: d1 f7 brne .-12 ; 0x3970 <CalibrierMittelwert+0xc4> |
397c: 33 27 eor r19, r19 |
397e: 44 27 eor r20, r20 |
3980: 55 27 eor r21, r21 |
3982: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
3986: 30 93 33 05 sts 0x0533, r19 |
398a: 20 93 32 05 sts 0x0532, r18 |
398e: 80 91 be 01 lds r24, 0x01BE |
3992: 88 23 and r24, r24 |
3994: 99 f0 breq .+38 ; 0x39bc <CalibrierMittelwert+0x110> |
3996: 60 91 b7 01 lds r22, 0x01B7 |
399a: 70 91 b8 01 lds r23, 0x01B8 |
399e: 20 91 be 01 lds r18, 0x01BE |
39a2: 88 27 eor r24, r24 |
39a4: 77 fd sbrc r23, 7 |
39a6: 80 95 com r24 |
39a8: 98 2f mov r25, r24 |
39aa: 33 27 eor r19, r19 |
39ac: 44 27 eor r20, r20 |
39ae: 55 27 eor r21, r21 |
39b0: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
39b4: 30 93 1c 05 sts 0x051C, r19 |
39b8: 20 93 1b 05 sts 0x051B, r18 |
39bc: 10 92 ae 01 sts 0x01AE, r1 |
39c0: 10 92 ad 01 sts 0x01AD, r1 |
39c4: 10 92 b9 01 sts 0x01B9, r1 |
39c8: 10 92 b0 01 sts 0x01B0, r1 |
39cc: 10 92 af 01 sts 0x01AF, r1 |
39d0: 10 92 ba 01 sts 0x01BA, r1 |
39d4: 10 92 b2 01 sts 0x01B2, r1 |
39d8: 10 92 b1 01 sts 0x01B1, r1 |
39dc: 10 92 bb 01 sts 0x01BB, r1 |
39e0: 10 92 b4 01 sts 0x01B4, r1 |
39e4: 10 92 b3 01 sts 0x01B3, r1 |
39e8: 10 92 bd 01 sts 0x01BD, r1 |
39ec: 10 92 b6 01 sts 0x01B6, r1 |
39f0: 10 92 b5 01 sts 0x01B5, r1 |
39f4: 10 92 bc 01 sts 0x01BC, r1 |
39f8: 10 92 b8 01 sts 0x01B8, r1 |
39fc: 10 92 b7 01 sts 0x01B7, r1 |
3a00: 10 92 be 01 sts 0x01BE, r1 |
3a04: 8f ee ldi r24, 0xEF ; 239 |
3a06: 80 93 7a 00 sts 0x007A, r24 |
3a0a: 20 91 12 02 lds r18, 0x0212 |
3a0e: 30 91 13 02 lds r19, 0x0213 |
3a12: 80 91 e0 04 lds r24, 0x04E0 |
3a16: e8 2f mov r30, r24 |
3a18: ff 27 eor r31, r31 |
3a1a: ee 0f add r30, r30 |
3a1c: ff 1f adc r31, r31 |
3a1e: e0 55 subi r30, 0x50 ; 80 |
3a20: fb 4f sbci r31, 0xFB ; 251 |
3a22: 80 81 ld r24, Z |
3a24: 91 81 ldd r25, Z+1 ; 0x01 |
3a26: 82 59 subi r24, 0x92 ; 146 |
3a28: 9f 4f sbci r25, 0xFF ; 255 |
3a2a: 28 17 cp r18, r24 |
3a2c: 39 07 cpc r19, r25 |
3a2e: 1c f4 brge .+6 ; 0x3a36 <CalibrierMittelwert+0x18a> |
3a30: 2f 5f subi r18, 0xFF ; 255 |
3a32: 3f 4f sbci r19, 0xFF ; 255 |
3a34: 0c c0 rjmp .+24 ; 0x3a4e <CalibrierMittelwert+0x1a2> |
3a36: 80 81 ld r24, Z |
3a38: 91 81 ldd r25, Z+1 ; 0x01 |
3a3a: 82 59 subi r24, 0x92 ; 146 |
3a3c: 9f 4f sbci r25, 0xFF ; 255 |
3a3e: 82 17 cp r24, r18 |
3a40: 93 07 cpc r25, r19 |
3a42: 4c f4 brge .+18 ; 0x3a56 <CalibrierMittelwert+0x1aa> |
3a44: 21 15 cp r18, r1 |
3a46: 31 05 cpc r19, r1 |
3a48: 31 f0 breq .+12 ; 0x3a56 <CalibrierMittelwert+0x1aa> |
3a4a: 21 50 subi r18, 0x01 ; 1 |
3a4c: 30 40 sbci r19, 0x00 ; 0 |
3a4e: 30 93 13 02 sts 0x0213, r19 |
3a52: 20 93 12 02 sts 0x0212, r18 |
3a56: 20 91 14 02 lds r18, 0x0214 |
3a5a: 30 91 15 02 lds r19, 0x0215 |
3a5e: 80 91 e1 04 lds r24, 0x04E1 |
3a62: e8 2f mov r30, r24 |
3a64: ff 27 eor r31, r31 |
3a66: ee 0f add r30, r30 |
3a68: ff 1f adc r31, r31 |
3a6a: e0 55 subi r30, 0x50 ; 80 |
3a6c: fb 4f sbci r31, 0xFB ; 251 |
3a6e: 80 81 ld r24, Z |
3a70: 91 81 ldd r25, Z+1 ; 0x01 |
3a72: 82 59 subi r24, 0x92 ; 146 |
3a74: 9f 4f sbci r25, 0xFF ; 255 |
3a76: 28 17 cp r18, r24 |
3a78: 39 07 cpc r19, r25 |
3a7a: 1c f4 brge .+6 ; 0x3a82 <CalibrierMittelwert+0x1d6> |
3a7c: 2f 5f subi r18, 0xFF ; 255 |
3a7e: 3f 4f sbci r19, 0xFF ; 255 |
3a80: 0c c0 rjmp .+24 ; 0x3a9a <CalibrierMittelwert+0x1ee> |
3a82: 80 81 ld r24, Z |
3a84: 91 81 ldd r25, Z+1 ; 0x01 |
3a86: 82 59 subi r24, 0x92 ; 146 |
3a88: 9f 4f sbci r25, 0xFF ; 255 |
3a8a: 82 17 cp r24, r18 |
3a8c: 93 07 cpc r25, r19 |
3a8e: 4c f4 brge .+18 ; 0x3aa2 <CalibrierMittelwert+0x1f6> |
3a90: 21 15 cp r18, r1 |
3a92: 31 05 cpc r19, r1 |
3a94: 31 f0 breq .+12 ; 0x3aa2 <CalibrierMittelwert+0x1f6> |
3a96: 21 50 subi r18, 0x01 ; 1 |
3a98: 30 40 sbci r19, 0x00 ; 0 |
3a9a: 30 93 15 02 sts 0x0215, r19 |
3a9e: 20 93 14 02 sts 0x0214, r18 |
3aa2: 20 91 16 02 lds r18, 0x0216 |
3aa6: 30 91 17 02 lds r19, 0x0217 |
3aaa: 80 91 e2 04 lds r24, 0x04E2 |
3aae: e8 2f mov r30, r24 |
3ab0: ff 27 eor r31, r31 |
3ab2: ee 0f add r30, r30 |
3ab4: ff 1f adc r31, r31 |
3ab6: e0 55 subi r30, 0x50 ; 80 |
3ab8: fb 4f sbci r31, 0xFB ; 251 |
3aba: 80 81 ld r24, Z |
3abc: 91 81 ldd r25, Z+1 ; 0x01 |
3abe: 82 59 subi r24, 0x92 ; 146 |
3ac0: 9f 4f sbci r25, 0xFF ; 255 |
3ac2: 28 17 cp r18, r24 |
3ac4: 39 07 cpc r19, r25 |
3ac6: 1c f4 brge .+6 ; 0x3ace <CalibrierMittelwert+0x222> |
3ac8: 2f 5f subi r18, 0xFF ; 255 |
3aca: 3f 4f sbci r19, 0xFF ; 255 |
3acc: 0c c0 rjmp .+24 ; 0x3ae6 <CalibrierMittelwert+0x23a> |
3ace: 80 81 ld r24, Z |
3ad0: 91 81 ldd r25, Z+1 ; 0x01 |
3ad2: 82 59 subi r24, 0x92 ; 146 |
3ad4: 9f 4f sbci r25, 0xFF ; 255 |
3ad6: 82 17 cp r24, r18 |
3ad8: 93 07 cpc r25, r19 |
3ada: 4c f4 brge .+18 ; 0x3aee <CalibrierMittelwert+0x242> |
3adc: 21 15 cp r18, r1 |
3ade: 31 05 cpc r19, r1 |
3ae0: 31 f0 breq .+12 ; 0x3aee <CalibrierMittelwert+0x242> |
3ae2: 21 50 subi r18, 0x01 ; 1 |
3ae4: 30 40 sbci r19, 0x00 ; 0 |
3ae6: 30 93 17 02 sts 0x0217, r19 |
3aea: 20 93 16 02 sts 0x0216, r18 |
3aee: 20 91 18 02 lds r18, 0x0218 |
3af2: 30 91 19 02 lds r19, 0x0219 |
3af6: 80 91 e3 04 lds r24, 0x04E3 |
3afa: e8 2f mov r30, r24 |
3afc: ff 27 eor r31, r31 |
3afe: ee 0f add r30, r30 |
3b00: ff 1f adc r31, r31 |
3b02: e0 55 subi r30, 0x50 ; 80 |
3b04: fb 4f sbci r31, 0xFB ; 251 |
3b06: 80 81 ld r24, Z |
3b08: 91 81 ldd r25, Z+1 ; 0x01 |
3b0a: 82 59 subi r24, 0x92 ; 146 |
3b0c: 9f 4f sbci r25, 0xFF ; 255 |
3b0e: 28 17 cp r18, r24 |
3b10: 39 07 cpc r19, r25 |
3b12: 1c f4 brge .+6 ; 0x3b1a <CalibrierMittelwert+0x26e> |
3b14: 2f 5f subi r18, 0xFF ; 255 |
3b16: 3f 4f sbci r19, 0xFF ; 255 |
3b18: 0c c0 rjmp .+24 ; 0x3b32 <CalibrierMittelwert+0x286> |
3b1a: 80 81 ld r24, Z |
3b1c: 91 81 ldd r25, Z+1 ; 0x01 |
3b1e: 82 59 subi r24, 0x92 ; 146 |
3b20: 9f 4f sbci r25, 0xFF ; 255 |
3b22: 82 17 cp r24, r18 |
3b24: 93 07 cpc r25, r19 |
3b26: 4c f4 brge .+18 ; 0x3b3a <CalibrierMittelwert+0x28e> |
3b28: 21 15 cp r18, r1 |
3b2a: 31 05 cpc r19, r1 |
3b2c: 31 f0 breq .+12 ; 0x3b3a <CalibrierMittelwert+0x28e> |
3b2e: 21 50 subi r18, 0x01 ; 1 |
3b30: 30 40 sbci r19, 0x00 ; 0 |
3b32: 30 93 19 02 sts 0x0219, r19 |
3b36: 20 93 18 02 sts 0x0218, r18 |
3b3a: 80 91 12 02 lds r24, 0x0212 |
3b3e: 90 91 13 02 lds r25, 0x0213 |
3b42: 97 ff sbrs r25, 7 |
3b44: 05 c0 rjmp .+10 ; 0x3b50 <CalibrierMittelwert+0x2a4> |
3b46: 10 92 13 02 sts 0x0213, r1 |
3b4a: 10 92 12 02 sts 0x0212, r1 |
3b4e: 0a c0 rjmp .+20 ; 0x3b64 <CalibrierMittelwert+0x2b8> |
3b50: 8f 3f cpi r24, 0xFF ; 255 |
3b52: 91 05 cpc r25, r1 |
3b54: 39 f0 breq .+14 ; 0x3b64 <CalibrierMittelwert+0x2b8> |
3b56: 34 f0 brlt .+12 ; 0x3b64 <CalibrierMittelwert+0x2b8> |
3b58: 8f ef ldi r24, 0xFF ; 255 |
3b5a: 90 e0 ldi r25, 0x00 ; 0 |
3b5c: 90 93 13 02 sts 0x0213, r25 |
3b60: 80 93 12 02 sts 0x0212, r24 |
3b64: 80 91 14 02 lds r24, 0x0214 |
3b68: 90 91 15 02 lds r25, 0x0215 |
3b6c: 97 ff sbrs r25, 7 |
3b6e: 05 c0 rjmp .+10 ; 0x3b7a <CalibrierMittelwert+0x2ce> |
3b70: 10 92 15 02 sts 0x0215, r1 |
3b74: 10 92 14 02 sts 0x0214, r1 |
3b78: 0a c0 rjmp .+20 ; 0x3b8e <CalibrierMittelwert+0x2e2> |
3b7a: 8f 3f cpi r24, 0xFF ; 255 |
3b7c: 91 05 cpc r25, r1 |
3b7e: 39 f0 breq .+14 ; 0x3b8e <CalibrierMittelwert+0x2e2> |
3b80: 34 f0 brlt .+12 ; 0x3b8e <CalibrierMittelwert+0x2e2> |
3b82: 8f ef ldi r24, 0xFF ; 255 |
3b84: 90 e0 ldi r25, 0x00 ; 0 |
3b86: 90 93 15 02 sts 0x0215, r25 |
3b8a: 80 93 14 02 sts 0x0214, r24 |
3b8e: 80 91 16 02 lds r24, 0x0216 |
3b92: 90 91 17 02 lds r25, 0x0217 |
3b96: 97 ff sbrs r25, 7 |
3b98: 05 c0 rjmp .+10 ; 0x3ba4 <CalibrierMittelwert+0x2f8> |
3b9a: 10 92 17 02 sts 0x0217, r1 |
3b9e: 10 92 16 02 sts 0x0216, r1 |
3ba2: 0a c0 rjmp .+20 ; 0x3bb8 <CalibrierMittelwert+0x30c> |
3ba4: 8f 3f cpi r24, 0xFF ; 255 |
3ba6: 91 05 cpc r25, r1 |
3ba8: 39 f0 breq .+14 ; 0x3bb8 <CalibrierMittelwert+0x30c> |
3baa: 34 f0 brlt .+12 ; 0x3bb8 <CalibrierMittelwert+0x30c> |
3bac: 8f ef ldi r24, 0xFF ; 255 |
3bae: 90 e0 ldi r25, 0x00 ; 0 |
3bb0: 90 93 17 02 sts 0x0217, r25 |
3bb4: 80 93 16 02 sts 0x0216, r24 |
3bb8: 80 91 18 02 lds r24, 0x0218 |
3bbc: 90 91 19 02 lds r25, 0x0219 |
3bc0: 97 ff sbrs r25, 7 |
3bc2: 05 c0 rjmp .+10 ; 0x3bce <CalibrierMittelwert+0x322> |
3bc4: 10 92 19 02 sts 0x0219, r1 |
3bc8: 10 92 18 02 sts 0x0218, r1 |
3bcc: 08 95 ret |
3bce: 8f 3f cpi r24, 0xFF ; 255 |
3bd0: 91 05 cpc r25, r1 |
3bd2: 39 f0 breq .+14 ; 0x3be2 <CalibrierMittelwert+0x336> |
3bd4: 34 f0 brlt .+12 ; 0x3be2 <CalibrierMittelwert+0x336> |
3bd6: 8f ef ldi r24, 0xFF ; 255 |
3bd8: 90 e0 ldi r25, 0x00 ; 0 |
3bda: 90 93 19 02 sts 0x0219, r25 |
3bde: 80 93 18 02 sts 0x0218, r24 |
3be2: 08 95 ret |
00003be4 <ParameterZuordnung>: |
3be4: 1f 93 push r17 |
3be6: 80 91 e7 04 lds r24, 0x04E7 |
3bea: 8b 3f cpi r24, 0xFB ; 251 |
3bec: 98 f0 brcs .+38 ; 0x3c14 <ParameterZuordnung+0x30> |
3bee: 8b 3f cpi r24, 0xFB ; 251 |
3bf0: 19 f4 brne .+6 ; 0x3bf8 <ParameterZuordnung+0x14> |
3bf2: 80 91 12 02 lds r24, 0x0212 |
3bf6: 0e c0 rjmp .+28 ; 0x3c14 <ParameterZuordnung+0x30> |
3bf8: 8c 3f cpi r24, 0xFC ; 252 |
3bfa: 19 f4 brne .+6 ; 0x3c02 <ParameterZuordnung+0x1e> |
3bfc: 80 91 14 02 lds r24, 0x0214 |
3c00: 09 c0 rjmp .+18 ; 0x3c14 <ParameterZuordnung+0x30> |
3c02: 8d 3f cpi r24, 0xFD ; 253 |
3c04: 19 f4 brne .+6 ; 0x3c0c <ParameterZuordnung+0x28> |
3c06: 80 91 16 02 lds r24, 0x0216 |
3c0a: 04 c0 rjmp .+8 ; 0x3c14 <ParameterZuordnung+0x30> |
3c0c: 8e 3f cpi r24, 0xFE ; 254 |
3c0e: 21 f4 brne .+8 ; 0x3c18 <ParameterZuordnung+0x34> |
3c10: 80 91 18 02 lds r24, 0x0218 |
3c14: 80 93 83 01 sts 0x0183, r24 |
3c18: 80 91 83 01 lds r24, 0x0183 |
3c1c: 88 23 and r24, r24 |
3c1e: 19 f4 brne .+6 ; 0x3c26 <ParameterZuordnung+0x42> |
3c20: 10 92 83 01 sts 0x0183, r1 |
3c24: 04 c0 rjmp .+8 ; 0x3c2e <ParameterZuordnung+0x4a> |
3c26: 8f 3f cpi r24, 0xFF ; 255 |
3c28: 11 f4 brne .+4 ; 0x3c2e <ParameterZuordnung+0x4a> |
3c2a: 80 93 83 01 sts 0x0183, r24 |
3c2e: 80 91 e6 04 lds r24, 0x04E6 |
3c32: 8b 3f cpi r24, 0xFB ; 251 |
3c34: 98 f0 brcs .+38 ; 0x3c5c <ParameterZuordnung+0x78> |
3c36: 8b 3f cpi r24, 0xFB ; 251 |
3c38: 19 f4 brne .+6 ; 0x3c40 <ParameterZuordnung+0x5c> |
3c3a: 80 91 12 02 lds r24, 0x0212 |
3c3e: 0e c0 rjmp .+28 ; 0x3c5c <ParameterZuordnung+0x78> |
3c40: 8c 3f cpi r24, 0xFC ; 252 |
3c42: 19 f4 brne .+6 ; 0x3c4a <ParameterZuordnung+0x66> |
3c44: 80 91 14 02 lds r24, 0x0214 |
3c48: 09 c0 rjmp .+18 ; 0x3c5c <ParameterZuordnung+0x78> |
3c4a: 8d 3f cpi r24, 0xFD ; 253 |
3c4c: 19 f4 brne .+6 ; 0x3c54 <ParameterZuordnung+0x70> |
3c4e: 80 91 16 02 lds r24, 0x0216 |
3c52: 04 c0 rjmp .+8 ; 0x3c5c <ParameterZuordnung+0x78> |
3c54: 8e 3f cpi r24, 0xFE ; 254 |
3c56: 21 f4 brne .+8 ; 0x3c60 <ParameterZuordnung+0x7c> |
3c58: 80 91 18 02 lds r24, 0x0218 |
3c5c: 80 93 82 01 sts 0x0182, r24 |
3c60: 80 91 82 01 lds r24, 0x0182 |
3c64: 88 23 and r24, r24 |
3c66: 19 f4 brne .+6 ; 0x3c6e <ParameterZuordnung+0x8a> |
3c68: 10 92 82 01 sts 0x0182, r1 |
3c6c: 05 c0 rjmp .+10 ; 0x3c78 <ParameterZuordnung+0x94> |
3c6e: 84 36 cpi r24, 0x64 ; 100 |
3c70: 18 f0 brcs .+6 ; 0x3c78 <ParameterZuordnung+0x94> |
3c72: 84 e6 ldi r24, 0x64 ; 100 |
3c74: 80 93 82 01 sts 0x0182, r24 |
3c78: 80 91 e8 04 lds r24, 0x04E8 |
3c7c: 8b 3f cpi r24, 0xFB ; 251 |
3c7e: 98 f0 brcs .+38 ; 0x3ca6 <ParameterZuordnung+0xc2> |
3c80: 8b 3f cpi r24, 0xFB ; 251 |
3c82: 19 f4 brne .+6 ; 0x3c8a <ParameterZuordnung+0xa6> |
3c84: 80 91 12 02 lds r24, 0x0212 |
3c88: 0e c0 rjmp .+28 ; 0x3ca6 <ParameterZuordnung+0xc2> |
3c8a: 8c 3f cpi r24, 0xFC ; 252 |
3c8c: 19 f4 brne .+6 ; 0x3c94 <ParameterZuordnung+0xb0> |
3c8e: 80 91 14 02 lds r24, 0x0214 |
3c92: 09 c0 rjmp .+18 ; 0x3ca6 <ParameterZuordnung+0xc2> |
3c94: 8d 3f cpi r24, 0xFD ; 253 |
3c96: 19 f4 brne .+6 ; 0x3c9e <ParameterZuordnung+0xba> |
3c98: 80 91 16 02 lds r24, 0x0216 |
3c9c: 04 c0 rjmp .+8 ; 0x3ca6 <ParameterZuordnung+0xc2> |
3c9e: 8e 3f cpi r24, 0xFE ; 254 |
3ca0: 21 f4 brne .+8 ; 0x3caa <ParameterZuordnung+0xc6> |
3ca2: 80 91 18 02 lds r24, 0x0218 |
3ca6: 80 93 84 01 sts 0x0184, r24 |
3caa: 80 91 84 01 lds r24, 0x0184 |
3cae: 88 23 and r24, r24 |
3cb0: 19 f4 brne .+6 ; 0x3cb8 <ParameterZuordnung+0xd4> |
3cb2: 10 92 84 01 sts 0x0184, r1 |
3cb6: 05 c0 rjmp .+10 ; 0x3cc2 <ParameterZuordnung+0xde> |
3cb8: 84 36 cpi r24, 0x64 ; 100 |
3cba: 18 f0 brcs .+6 ; 0x3cc2 <ParameterZuordnung+0xde> |
3cbc: 84 e6 ldi r24, 0x64 ; 100 |
3cbe: 80 93 84 01 sts 0x0184, r24 |
3cc2: 80 91 ea 04 lds r24, 0x04EA |
3cc6: 8b 3f cpi r24, 0xFB ; 251 |
3cc8: 98 f0 brcs .+38 ; 0x3cf0 <ParameterZuordnung+0x10c> |
3cca: 8b 3f cpi r24, 0xFB ; 251 |
3ccc: 19 f4 brne .+6 ; 0x3cd4 <ParameterZuordnung+0xf0> |
3cce: 80 91 12 02 lds r24, 0x0212 |
3cd2: 0e c0 rjmp .+28 ; 0x3cf0 <ParameterZuordnung+0x10c> |
3cd4: 8c 3f cpi r24, 0xFC ; 252 |
3cd6: 19 f4 brne .+6 ; 0x3cde <ParameterZuordnung+0xfa> |
3cd8: 80 91 14 02 lds r24, 0x0214 |
3cdc: 09 c0 rjmp .+18 ; 0x3cf0 <ParameterZuordnung+0x10c> |
3cde: 8d 3f cpi r24, 0xFD ; 253 |
3ce0: 19 f4 brne .+6 ; 0x3ce8 <ParameterZuordnung+0x104> |
3ce2: 80 91 16 02 lds r24, 0x0216 |
3ce6: 04 c0 rjmp .+8 ; 0x3cf0 <ParameterZuordnung+0x10c> |
3ce8: 8e 3f cpi r24, 0xFE ; 254 |
3cea: 21 f4 brne .+8 ; 0x3cf4 <ParameterZuordnung+0x110> |
3cec: 80 91 18 02 lds r24, 0x0218 |
3cf0: 80 93 85 01 sts 0x0185, r24 |
3cf4: 80 91 85 01 lds r24, 0x0185 |
3cf8: 88 23 and r24, r24 |
3cfa: 19 f4 brne .+6 ; 0x3d02 <ParameterZuordnung+0x11e> |
3cfc: 10 92 85 01 sts 0x0185, r1 |
3d00: 04 c0 rjmp .+8 ; 0x3d0a <ParameterZuordnung+0x126> |
3d02: 8f 3f cpi r24, 0xFF ; 255 |
3d04: 11 f4 brne .+4 ; 0x3d0a <ParameterZuordnung+0x126> |
3d06: 80 93 85 01 sts 0x0185, r24 |
3d0a: 80 91 f1 04 lds r24, 0x04F1 |
3d0e: 8b 3f cpi r24, 0xFB ; 251 |
3d10: 98 f0 brcs .+38 ; 0x3d38 <ParameterZuordnung+0x154> |
3d12: 8b 3f cpi r24, 0xFB ; 251 |
3d14: 19 f4 brne .+6 ; 0x3d1c <ParameterZuordnung+0x138> |
3d16: 80 91 12 02 lds r24, 0x0212 |
3d1a: 0e c0 rjmp .+28 ; 0x3d38 <ParameterZuordnung+0x154> |
3d1c: 8c 3f cpi r24, 0xFC ; 252 |
3d1e: 19 f4 brne .+6 ; 0x3d26 <ParameterZuordnung+0x142> |
3d20: 80 91 14 02 lds r24, 0x0214 |
3d24: 09 c0 rjmp .+18 ; 0x3d38 <ParameterZuordnung+0x154> |
3d26: 8d 3f cpi r24, 0xFD ; 253 |
3d28: 19 f4 brne .+6 ; 0x3d30 <ParameterZuordnung+0x14c> |
3d2a: 80 91 16 02 lds r24, 0x0216 |
3d2e: 04 c0 rjmp .+8 ; 0x3d38 <ParameterZuordnung+0x154> |
3d30: 8e 3f cpi r24, 0xFE ; 254 |
3d32: 21 f4 brne .+8 ; 0x3d3c <ParameterZuordnung+0x158> |
3d34: 80 91 18 02 lds r24, 0x0218 |
3d38: 80 93 86 01 sts 0x0186, r24 |
3d3c: 80 91 86 01 lds r24, 0x0186 |
3d40: 88 23 and r24, r24 |
3d42: 19 f4 brne .+6 ; 0x3d4a <ParameterZuordnung+0x166> |
3d44: 10 92 86 01 sts 0x0186, r1 |
3d48: 04 c0 rjmp .+8 ; 0x3d52 <ParameterZuordnung+0x16e> |
3d4a: 8f 3f cpi r24, 0xFF ; 255 |
3d4c: 11 f4 brne .+4 ; 0x3d52 <ParameterZuordnung+0x16e> |
3d4e: 80 93 86 01 sts 0x0186, r24 |
3d52: 80 91 f2 04 lds r24, 0x04F2 |
3d56: 8b 3f cpi r24, 0xFB ; 251 |
3d58: 98 f0 brcs .+38 ; 0x3d80 <ParameterZuordnung+0x19c> |
3d5a: 8b 3f cpi r24, 0xFB ; 251 |
3d5c: 19 f4 brne .+6 ; 0x3d64 <ParameterZuordnung+0x180> |
3d5e: 80 91 12 02 lds r24, 0x0212 |
3d62: 0e c0 rjmp .+28 ; 0x3d80 <ParameterZuordnung+0x19c> |
3d64: 8c 3f cpi r24, 0xFC ; 252 |
3d66: 19 f4 brne .+6 ; 0x3d6e <ParameterZuordnung+0x18a> |
3d68: 80 91 14 02 lds r24, 0x0214 |
3d6c: 09 c0 rjmp .+18 ; 0x3d80 <ParameterZuordnung+0x19c> |
3d6e: 8d 3f cpi r24, 0xFD ; 253 |
3d70: 19 f4 brne .+6 ; 0x3d78 <ParameterZuordnung+0x194> |
3d72: 80 91 16 02 lds r24, 0x0216 |
3d76: 04 c0 rjmp .+8 ; 0x3d80 <ParameterZuordnung+0x19c> |
3d78: 8e 3f cpi r24, 0xFE ; 254 |
3d7a: 21 f4 brne .+8 ; 0x3d84 <ParameterZuordnung+0x1a0> |
3d7c: 80 91 18 02 lds r24, 0x0218 |
3d80: 80 93 87 01 sts 0x0187, r24 |
3d84: 80 91 87 01 lds r24, 0x0187 |
3d88: 8b 30 cpi r24, 0x0B ; 11 |
3d8a: 10 f4 brcc .+4 ; 0x3d90 <ParameterZuordnung+0x1ac> |
3d8c: 8a e0 ldi r24, 0x0A ; 10 |
3d8e: 02 c0 rjmp .+4 ; 0x3d94 <ParameterZuordnung+0x1b0> |
3d90: 8f 3f cpi r24, 0xFF ; 255 |
3d92: 11 f4 brne .+4 ; 0x3d98 <ParameterZuordnung+0x1b4> |
3d94: 80 93 87 01 sts 0x0187, r24 |
3d98: 80 91 f3 04 lds r24, 0x04F3 |
3d9c: 8b 3f cpi r24, 0xFB ; 251 |
3d9e: 98 f0 brcs .+38 ; 0x3dc6 <ParameterZuordnung+0x1e2> |
3da0: 8b 3f cpi r24, 0xFB ; 251 |
3da2: 19 f4 brne .+6 ; 0x3daa <ParameterZuordnung+0x1c6> |
3da4: 80 91 12 02 lds r24, 0x0212 |
3da8: 0e c0 rjmp .+28 ; 0x3dc6 <ParameterZuordnung+0x1e2> |
3daa: 8c 3f cpi r24, 0xFC ; 252 |
3dac: 19 f4 brne .+6 ; 0x3db4 <ParameterZuordnung+0x1d0> |
3dae: 80 91 14 02 lds r24, 0x0214 |
3db2: 09 c0 rjmp .+18 ; 0x3dc6 <ParameterZuordnung+0x1e2> |
3db4: 8d 3f cpi r24, 0xFD ; 253 |
3db6: 19 f4 brne .+6 ; 0x3dbe <ParameterZuordnung+0x1da> |
3db8: 80 91 16 02 lds r24, 0x0216 |
3dbc: 04 c0 rjmp .+8 ; 0x3dc6 <ParameterZuordnung+0x1e2> |
3dbe: 8e 3f cpi r24, 0xFE ; 254 |
3dc0: 21 f4 brne .+8 ; 0x3dca <ParameterZuordnung+0x1e6> |
3dc2: 80 91 18 02 lds r24, 0x0218 |
3dc6: 80 93 88 01 sts 0x0188, r24 |
3dca: 80 91 88 01 lds r24, 0x0188 |
3dce: 88 23 and r24, r24 |
3dd0: 19 f4 brne .+6 ; 0x3dd8 <ParameterZuordnung+0x1f4> |
3dd2: 10 92 88 01 sts 0x0188, r1 |
3dd6: 04 c0 rjmp .+8 ; 0x3de0 <ParameterZuordnung+0x1fc> |
3dd8: 8f 3f cpi r24, 0xFF ; 255 |
3dda: 11 f4 brne .+4 ; 0x3de0 <ParameterZuordnung+0x1fc> |
3ddc: 80 93 88 01 sts 0x0188, r24 |
3de0: 80 91 f8 04 lds r24, 0x04F8 |
3de4: 8b 3f cpi r24, 0xFB ; 251 |
3de6: 98 f0 brcs .+38 ; 0x3e0e <ParameterZuordnung+0x22a> |
3de8: 8b 3f cpi r24, 0xFB ; 251 |
3dea: 19 f4 brne .+6 ; 0x3df2 <ParameterZuordnung+0x20e> |
3dec: 80 91 12 02 lds r24, 0x0212 |
3df0: 0e c0 rjmp .+28 ; 0x3e0e <ParameterZuordnung+0x22a> |
3df2: 8c 3f cpi r24, 0xFC ; 252 |
3df4: 19 f4 brne .+6 ; 0x3dfc <ParameterZuordnung+0x218> |
3df6: 80 91 14 02 lds r24, 0x0214 |
3dfa: 09 c0 rjmp .+18 ; 0x3e0e <ParameterZuordnung+0x22a> |
3dfc: 8d 3f cpi r24, 0xFD ; 253 |
3dfe: 19 f4 brne .+6 ; 0x3e06 <ParameterZuordnung+0x222> |
3e00: 80 91 16 02 lds r24, 0x0216 |
3e04: 04 c0 rjmp .+8 ; 0x3e0e <ParameterZuordnung+0x22a> |
3e06: 8e 3f cpi r24, 0xFE ; 254 |
3e08: 21 f4 brne .+8 ; 0x3e12 <ParameterZuordnung+0x22e> |
3e0a: 80 91 18 02 lds r24, 0x0218 |
3e0e: 80 93 8a 01 sts 0x018A, r24 |
3e12: 80 91 8a 01 lds r24, 0x018A |
3e16: 88 23 and r24, r24 |
3e18: 19 f4 brne .+6 ; 0x3e20 <ParameterZuordnung+0x23c> |
3e1a: 10 92 8a 01 sts 0x018A, r1 |
3e1e: 04 c0 rjmp .+8 ; 0x3e28 <ParameterZuordnung+0x244> |
3e20: 8f 3f cpi r24, 0xFF ; 255 |
3e22: 11 f4 brne .+4 ; 0x3e28 <ParameterZuordnung+0x244> |
3e24: 80 93 8a 01 sts 0x018A, r24 |
3e28: 80 91 f9 04 lds r24, 0x04F9 |
3e2c: 8b 3f cpi r24, 0xFB ; 251 |
3e2e: 98 f0 brcs .+38 ; 0x3e56 <ParameterZuordnung+0x272> |
3e30: 8b 3f cpi r24, 0xFB ; 251 |
3e32: 19 f4 brne .+6 ; 0x3e3a <ParameterZuordnung+0x256> |
3e34: 80 91 12 02 lds r24, 0x0212 |
3e38: 0e c0 rjmp .+28 ; 0x3e56 <ParameterZuordnung+0x272> |
3e3a: 8c 3f cpi r24, 0xFC ; 252 |
3e3c: 19 f4 brne .+6 ; 0x3e44 <ParameterZuordnung+0x260> |
3e3e: 80 91 14 02 lds r24, 0x0214 |
3e42: 09 c0 rjmp .+18 ; 0x3e56 <ParameterZuordnung+0x272> |
3e44: 8d 3f cpi r24, 0xFD ; 253 |
3e46: 19 f4 brne .+6 ; 0x3e4e <ParameterZuordnung+0x26a> |
3e48: 80 91 16 02 lds r24, 0x0216 |
3e4c: 04 c0 rjmp .+8 ; 0x3e56 <ParameterZuordnung+0x272> |
3e4e: 8e 3f cpi r24, 0xFE ; 254 |
3e50: 21 f4 brne .+8 ; 0x3e5a <ParameterZuordnung+0x276> |
3e52: 80 91 18 02 lds r24, 0x0218 |
3e56: 80 93 26 02 sts 0x0226, r24 |
3e5a: 80 91 26 02 lds r24, 0x0226 |
3e5e: 88 23 and r24, r24 |
3e60: 19 f4 brne .+6 ; 0x3e68 <ParameterZuordnung+0x284> |
3e62: 10 92 26 02 sts 0x0226, r1 |
3e66: 04 c0 rjmp .+8 ; 0x3e70 <ParameterZuordnung+0x28c> |
3e68: 8f 3f cpi r24, 0xFF ; 255 |
3e6a: 11 f4 brne .+4 ; 0x3e70 <ParameterZuordnung+0x28c> |
3e6c: 80 93 26 02 sts 0x0226, r24 |
3e70: 80 91 fa 04 lds r24, 0x04FA |
3e74: 8b 3f cpi r24, 0xFB ; 251 |
3e76: 98 f0 brcs .+38 ; 0x3e9e <ParameterZuordnung+0x2ba> |
3e78: 8b 3f cpi r24, 0xFB ; 251 |
3e7a: 19 f4 brne .+6 ; 0x3e82 <ParameterZuordnung+0x29e> |
3e7c: 80 91 12 02 lds r24, 0x0212 |
3e80: 0e c0 rjmp .+28 ; 0x3e9e <ParameterZuordnung+0x2ba> |
3e82: 8c 3f cpi r24, 0xFC ; 252 |
3e84: 19 f4 brne .+6 ; 0x3e8c <ParameterZuordnung+0x2a8> |
3e86: 80 91 14 02 lds r24, 0x0214 |
3e8a: 09 c0 rjmp .+18 ; 0x3e9e <ParameterZuordnung+0x2ba> |
3e8c: 8d 3f cpi r24, 0xFD ; 253 |
3e8e: 19 f4 brne .+6 ; 0x3e96 <ParameterZuordnung+0x2b2> |
3e90: 80 91 16 02 lds r24, 0x0216 |
3e94: 04 c0 rjmp .+8 ; 0x3e9e <ParameterZuordnung+0x2ba> |
3e96: 8e 3f cpi r24, 0xFE ; 254 |
3e98: 21 f4 brne .+8 ; 0x3ea2 <ParameterZuordnung+0x2be> |
3e9a: 80 91 18 02 lds r24, 0x0218 |
3e9e: 80 93 27 02 sts 0x0227, r24 |
3ea2: 80 91 27 02 lds r24, 0x0227 |
3ea6: 88 23 and r24, r24 |
3ea8: 19 f4 brne .+6 ; 0x3eb0 <ParameterZuordnung+0x2cc> |
3eaa: 10 92 27 02 sts 0x0227, r1 |
3eae: 04 c0 rjmp .+8 ; 0x3eb8 <ParameterZuordnung+0x2d4> |
3eb0: 8f 3f cpi r24, 0xFF ; 255 |
3eb2: 11 f4 brne .+4 ; 0x3eb8 <ParameterZuordnung+0x2d4> |
3eb4: 80 93 27 02 sts 0x0227, r24 |
3eb8: 80 91 fb 04 lds r24, 0x04FB |
3ebc: 8b 3f cpi r24, 0xFB ; 251 |
3ebe: 98 f0 brcs .+38 ; 0x3ee6 <ParameterZuordnung+0x302> |
3ec0: 8b 3f cpi r24, 0xFB ; 251 |
3ec2: 19 f4 brne .+6 ; 0x3eca <ParameterZuordnung+0x2e6> |
3ec4: 80 91 12 02 lds r24, 0x0212 |
3ec8: 0e c0 rjmp .+28 ; 0x3ee6 <ParameterZuordnung+0x302> |
3eca: 8c 3f cpi r24, 0xFC ; 252 |
3ecc: 19 f4 brne .+6 ; 0x3ed4 <ParameterZuordnung+0x2f0> |
3ece: 80 91 14 02 lds r24, 0x0214 |
3ed2: 09 c0 rjmp .+18 ; 0x3ee6 <ParameterZuordnung+0x302> |
3ed4: 8d 3f cpi r24, 0xFD ; 253 |
3ed6: 19 f4 brne .+6 ; 0x3ede <ParameterZuordnung+0x2fa> |
3ed8: 80 91 16 02 lds r24, 0x0216 |
3edc: 04 c0 rjmp .+8 ; 0x3ee6 <ParameterZuordnung+0x302> |
3ede: 8e 3f cpi r24, 0xFE ; 254 |
3ee0: 21 f4 brne .+8 ; 0x3eea <ParameterZuordnung+0x306> |
3ee2: 80 91 18 02 lds r24, 0x0218 |
3ee6: 80 93 28 02 sts 0x0228, r24 |
3eea: 80 91 28 02 lds r24, 0x0228 |
3eee: 88 23 and r24, r24 |
3ef0: 19 f4 brne .+6 ; 0x3ef8 <ParameterZuordnung+0x314> |
3ef2: 10 92 28 02 sts 0x0228, r1 |
3ef6: 04 c0 rjmp .+8 ; 0x3f00 <ParameterZuordnung+0x31c> |
3ef8: 8f 3f cpi r24, 0xFF ; 255 |
3efa: 11 f4 brne .+4 ; 0x3f00 <ParameterZuordnung+0x31c> |
3efc: 80 93 28 02 sts 0x0228, r24 |
3f00: 80 91 fc 04 lds r24, 0x04FC |
3f04: 8b 3f cpi r24, 0xFB ; 251 |
3f06: 98 f0 brcs .+38 ; 0x3f2e <ParameterZuordnung+0x34a> |
3f08: 8b 3f cpi r24, 0xFB ; 251 |
3f0a: 19 f4 brne .+6 ; 0x3f12 <ParameterZuordnung+0x32e> |
3f0c: 80 91 12 02 lds r24, 0x0212 |
3f10: 0e c0 rjmp .+28 ; 0x3f2e <ParameterZuordnung+0x34a> |
3f12: 8c 3f cpi r24, 0xFC ; 252 |
3f14: 19 f4 brne .+6 ; 0x3f1c <ParameterZuordnung+0x338> |
3f16: 80 91 14 02 lds r24, 0x0214 |
3f1a: 09 c0 rjmp .+18 ; 0x3f2e <ParameterZuordnung+0x34a> |
3f1c: 8d 3f cpi r24, 0xFD ; 253 |
3f1e: 19 f4 brne .+6 ; 0x3f26 <ParameterZuordnung+0x342> |
3f20: 80 91 16 02 lds r24, 0x0216 |
3f24: 04 c0 rjmp .+8 ; 0x3f2e <ParameterZuordnung+0x34a> |
3f26: 8e 3f cpi r24, 0xFE ; 254 |
3f28: 21 f4 brne .+8 ; 0x3f32 <ParameterZuordnung+0x34e> |
3f2a: 80 91 18 02 lds r24, 0x0218 |
3f2e: 80 93 29 02 sts 0x0229, r24 |
3f32: 80 91 29 02 lds r24, 0x0229 |
3f36: 88 23 and r24, r24 |
3f38: 19 f4 brne .+6 ; 0x3f40 <ParameterZuordnung+0x35c> |
3f3a: 10 92 29 02 sts 0x0229, r1 |
3f3e: 04 c0 rjmp .+8 ; 0x3f48 <ParameterZuordnung+0x364> |
3f40: 8f 3f cpi r24, 0xFF ; 255 |
3f42: 11 f4 brne .+4 ; 0x3f48 <ParameterZuordnung+0x364> |
3f44: 80 93 29 02 sts 0x0229, r24 |
3f48: 90 91 fd 04 lds r25, 0x04FD |
3f4c: 9b 3f cpi r25, 0xFB ; 251 |
3f4e: b0 f0 brcs .+44 ; 0x3f7c <ParameterZuordnung+0x398> |
3f50: 9b 3f cpi r25, 0xFB ; 251 |
3f52: 19 f4 brne .+6 ; 0x3f5a <ParameterZuordnung+0x376> |
3f54: 80 91 12 02 lds r24, 0x0212 |
3f58: 04 c0 rjmp .+8 ; 0x3f62 <ParameterZuordnung+0x37e> |
3f5a: 9c 3f cpi r25, 0xFC ; 252 |
3f5c: 29 f4 brne .+10 ; 0x3f68 <ParameterZuordnung+0x384> |
3f5e: 80 91 14 02 lds r24, 0x0214 |
3f62: 80 93 8b 01 sts 0x018B, r24 |
3f66: 0c c0 rjmp .+24 ; 0x3f80 <ParameterZuordnung+0x39c> |
3f68: 9d 3f cpi r25, 0xFD ; 253 |
3f6a: 19 f4 brne .+6 ; 0x3f72 <ParameterZuordnung+0x38e> |
3f6c: 80 91 16 02 lds r24, 0x0216 |
3f70: f8 cf rjmp .-16 ; 0x3f62 <ParameterZuordnung+0x37e> |
3f72: 9e 3f cpi r25, 0xFE ; 254 |
3f74: 29 f4 brne .+10 ; 0x3f80 <ParameterZuordnung+0x39c> |
3f76: 80 91 18 02 lds r24, 0x0218 |
3f7a: f3 cf rjmp .-26 ; 0x3f62 <ParameterZuordnung+0x37e> |
3f7c: 90 93 8b 01 sts 0x018B, r25 |
3f80: 80 91 8b 01 lds r24, 0x018B |
3f84: 88 23 and r24, r24 |
3f86: 19 f4 brne .+6 ; 0x3f8e <ParameterZuordnung+0x3aa> |
3f88: 10 92 8b 01 sts 0x018B, r1 |
3f8c: 04 c0 rjmp .+8 ; 0x3f96 <ParameterZuordnung+0x3b2> |
3f8e: 8f 3f cpi r24, 0xFF ; 255 |
3f90: 11 f4 brne .+4 ; 0x3f96 <ParameterZuordnung+0x3b2> |
3f92: 80 93 8b 01 sts 0x018B, r24 |
3f96: 9b 3f cpi r25, 0xFB ; 251 |
3f98: b0 f0 brcs .+44 ; 0x3fc6 <ParameterZuordnung+0x3e2> |
3f9a: 9b 3f cpi r25, 0xFB ; 251 |
3f9c: 19 f4 brne .+6 ; 0x3fa4 <ParameterZuordnung+0x3c0> |
3f9e: 80 91 12 02 lds r24, 0x0212 |
3fa2: 04 c0 rjmp .+8 ; 0x3fac <ParameterZuordnung+0x3c8> |
3fa4: 9c 3f cpi r25, 0xFC ; 252 |
3fa6: 29 f4 brne .+10 ; 0x3fb2 <ParameterZuordnung+0x3ce> |
3fa8: 80 91 14 02 lds r24, 0x0214 |
3fac: 80 93 8b 01 sts 0x018B, r24 |
3fb0: 0c c0 rjmp .+24 ; 0x3fca <ParameterZuordnung+0x3e6> |
3fb2: 9d 3f cpi r25, 0xFD ; 253 |
3fb4: 19 f4 brne .+6 ; 0x3fbc <ParameterZuordnung+0x3d8> |
3fb6: 80 91 16 02 lds r24, 0x0216 |
3fba: f8 cf rjmp .-16 ; 0x3fac <ParameterZuordnung+0x3c8> |
3fbc: 9e 3f cpi r25, 0xFE ; 254 |
3fbe: 29 f4 brne .+10 ; 0x3fca <ParameterZuordnung+0x3e6> |
3fc0: 80 91 18 02 lds r24, 0x0218 |
3fc4: f3 cf rjmp .-26 ; 0x3fac <ParameterZuordnung+0x3c8> |
3fc6: 90 93 8b 01 sts 0x018B, r25 |
3fca: 80 91 8b 01 lds r24, 0x018B |
3fce: 88 23 and r24, r24 |
3fd0: 19 f4 brne .+6 ; 0x3fd8 <ParameterZuordnung+0x3f4> |
3fd2: 10 92 8b 01 sts 0x018B, r1 |
3fd6: 04 c0 rjmp .+8 ; 0x3fe0 <ParameterZuordnung+0x3fc> |
3fd8: 8f 3f cpi r24, 0xFF ; 255 |
3fda: 11 f4 brne .+4 ; 0x3fe0 <ParameterZuordnung+0x3fc> |
3fdc: 80 93 8b 01 sts 0x018B, r24 |
3fe0: 9b 3f cpi r25, 0xFB ; 251 |
3fe2: b0 f0 brcs .+44 ; 0x4010 <ParameterZuordnung+0x42c> |
3fe4: 9b 3f cpi r25, 0xFB ; 251 |
3fe6: 19 f4 brne .+6 ; 0x3fee <ParameterZuordnung+0x40a> |
3fe8: 80 91 12 02 lds r24, 0x0212 |
3fec: 04 c0 rjmp .+8 ; 0x3ff6 <ParameterZuordnung+0x412> |
3fee: 9c 3f cpi r25, 0xFC ; 252 |
3ff0: 29 f4 brne .+10 ; 0x3ffc <ParameterZuordnung+0x418> |
3ff2: 80 91 14 02 lds r24, 0x0214 |
3ff6: 80 93 8b 01 sts 0x018B, r24 |
3ffa: 0c c0 rjmp .+24 ; 0x4014 <ParameterZuordnung+0x430> |
3ffc: 9d 3f cpi r25, 0xFD ; 253 |
3ffe: 19 f4 brne .+6 ; 0x4006 <ParameterZuordnung+0x422> |
4000: 80 91 16 02 lds r24, 0x0216 |
4004: f8 cf rjmp .-16 ; 0x3ff6 <ParameterZuordnung+0x412> |
4006: 9e 3f cpi r25, 0xFE ; 254 |
4008: 29 f4 brne .+10 ; 0x4014 <ParameterZuordnung+0x430> |
400a: 80 91 18 02 lds r24, 0x0218 |
400e: f3 cf rjmp .-26 ; 0x3ff6 <ParameterZuordnung+0x412> |
4010: 90 93 8b 01 sts 0x018B, r25 |
4014: 80 91 8b 01 lds r24, 0x018B |
4018: 88 23 and r24, r24 |
401a: 19 f4 brne .+6 ; 0x4022 <ParameterZuordnung+0x43e> |
401c: 10 92 8b 01 sts 0x018B, r1 |
4020: 04 c0 rjmp .+8 ; 0x402a <ParameterZuordnung+0x446> |
4022: 8f 3f cpi r24, 0xFF ; 255 |
4024: 11 f4 brne .+4 ; 0x402a <ParameterZuordnung+0x446> |
4026: 80 93 8b 01 sts 0x018B, r24 |
402a: 10 91 8a 01 lds r17, 0x018A |
402e: 61 2f mov r22, r17 |
4030: 77 27 eor r23, r23 |
4032: 67 fd sbrc r22, 7 |
4034: 70 95 com r23 |
4036: 87 2f mov r24, r23 |
4038: 97 2f mov r25, r23 |
403a: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
403e: 17 ff sbrs r17, 7 |
4040: 06 c0 rjmp .+12 ; 0x404e <ParameterZuordnung+0x46a> |
4042: 20 e0 ldi r18, 0x00 ; 0 |
4044: 30 e0 ldi r19, 0x00 ; 0 |
4046: 40 e8 ldi r20, 0x80 ; 128 |
4048: 53 e4 ldi r21, 0x43 ; 67 |
404a: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
404e: 27 e1 ldi r18, 0x17 ; 23 |
4050: 37 eb ldi r19, 0xB7 ; 183 |
4052: 41 ed ldi r20, 0xD1 ; 209 |
4054: 58 e3 ldi r21, 0x38 ; 56 |
4056: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
405a: 60 93 7e 01 sts 0x017E, r22 |
405e: 70 93 7f 01 sts 0x017F, r23 |
4062: 80 93 80 01 sts 0x0180, r24 |
4066: 90 93 81 01 sts 0x0181, r25 |
406a: 80 91 ef 04 lds r24, 0x04EF |
406e: 80 93 2b 05 sts 0x052B, r24 |
4072: 80 91 ee 04 lds r24, 0x04EE |
4076: 80 93 1a 05 sts 0x051A, r24 |
407a: 1f 91 pop r17 |
407c: 08 95 ret |
0000407e <DefaultKonstanten2>: |
407e: 81 e0 ldi r24, 0x01 ; 1 |
4080: 80 93 dc 04 sts 0x04DC, r24 |
4084: 42 e0 ldi r20, 0x02 ; 2 |
4086: 40 93 dd 04 sts 0x04DD, r20 |
408a: 83 e0 ldi r24, 0x03 ; 3 |
408c: 80 93 de 04 sts 0x04DE, r24 |
4090: 94 e0 ldi r25, 0x04 ; 4 |
4092: 90 93 df 04 sts 0x04DF, r25 |
4096: 35 e0 ldi r19, 0x05 ; 5 |
4098: 30 93 e0 04 sts 0x04E0, r19 |
409c: 86 e0 ldi r24, 0x06 ; 6 |
409e: 80 93 e1 04 sts 0x04E1, r24 |
40a2: 87 e0 ldi r24, 0x07 ; 7 |
40a4: 80 93 e2 04 sts 0x04E2, r24 |
40a8: 10 92 e4 04 sts 0x04E4, r1 |
40ac: 8e e1 ldi r24, 0x1E ; 30 |
40ae: 80 93 e5 04 sts 0x04E5, r24 |
40b2: 8b ef ldi r24, 0xFB ; 251 |
40b4: 80 93 e7 04 sts 0x04E7, r24 |
40b8: 8a e0 ldi r24, 0x0A ; 10 |
40ba: 80 93 e8 04 sts 0x04E8, r24 |
40be: 22 e3 ldi r18, 0x32 ; 50 |
40c0: 20 93 e6 04 sts 0x04E6, r18 |
40c4: 20 93 ea 04 sts 0x04EA, r18 |
40c8: 40 93 e9 04 sts 0x04E9, r20 |
40cc: 90 93 eb 04 sts 0x04EB, r25 |
40d0: 10 92 ec 04 sts 0x04EC, r1 |
40d4: 90 e1 ldi r25, 0x10 ; 16 |
40d6: 90 93 ed 04 sts 0x04ED, r25 |
40da: 8f e0 ldi r24, 0x0F ; 15 |
40dc: 80 93 ee 04 sts 0x04EE, r24 |
40e0: 8a ef ldi r24, 0xFA ; 250 |
40e2: 80 93 ef 04 sts 0x04EF, r24 |
40e6: 8a e1 ldi r24, 0x1A ; 26 |
40e8: 80 93 f0 04 sts 0x04F0, r24 |
40ec: 90 93 f1 04 sts 0x04F1, r25 |
40f0: 8f ea ldi r24, 0xAF ; 175 |
40f2: 80 93 f2 04 sts 0x04F2, r24 |
40f6: 80 93 f3 04 sts 0x04F3, r24 |
40fa: 8a e5 ldi r24, 0x5A ; 90 |
40fc: 80 93 f4 04 sts 0x04F4, r24 |
4100: 83 e2 ldi r24, 0x23 ; 35 |
4102: 80 93 f5 04 sts 0x04F5, r24 |
4106: 84 e1 ldi r24, 0x14 ; 20 |
4108: 80 93 f6 04 sts 0x04F6, r24 |
410c: 10 92 f7 04 sts 0x04F7, r1 |
4110: 30 93 f8 04 sts 0x04F8, r19 |
4114: 88 e7 ldi r24, 0x78 ; 120 |
4116: 80 93 f9 04 sts 0x04F9, r24 |
411a: 80 93 fa 04 sts 0x04FA, r24 |
411e: 10 92 fb 04 sts 0x04FB, r1 |
4122: 10 92 fc 04 sts 0x04FC, r1 |
4126: 84 e6 ldi r24, 0x64 ; 100 |
4128: 80 93 fd 04 sts 0x04FD, r24 |
412c: 88 e2 ldi r24, 0x28 ; 40 |
412e: 80 93 fe 04 sts 0x04FE, r24 |
4132: 10 92 02 05 sts 0x0502, r1 |
4136: 20 93 ff 04 sts 0x04FF, r18 |
413a: 86 e9 ldi r24, 0x96 ; 150 |
413c: 80 93 00 05 sts 0x0500, r24 |
4140: 30 93 01 05 sts 0x0501, r19 |
4144: aa e0 ldi r26, 0x0A ; 10 |
4146: b5 e0 ldi r27, 0x05 ; 5 |
4148: ea e6 ldi r30, 0x6A ; 106 |
414a: f1 e0 ldi r31, 0x01 ; 1 |
414c: 8c e0 ldi r24, 0x0C ; 12 |
414e: 01 90 ld r0, Z+ |
4150: 0d 92 st X+, r0 |
4152: 81 50 subi r24, 0x01 ; 1 |
4154: e1 f7 brne .-8 ; 0x414e <DefaultKonstanten2+0xd0> |
4156: 08 95 ret |
00004158 <DefaultKonstanten1>: |
4158: 81 e0 ldi r24, 0x01 ; 1 |
415a: 80 93 dc 04 sts 0x04DC, r24 |
415e: 52 e0 ldi r21, 0x02 ; 2 |
4160: 50 93 dd 04 sts 0x04DD, r21 |
4164: 83 e0 ldi r24, 0x03 ; 3 |
4166: 80 93 de 04 sts 0x04DE, r24 |
416a: 44 e0 ldi r20, 0x04 ; 4 |
416c: 40 93 df 04 sts 0x04DF, r20 |
4170: 35 e0 ldi r19, 0x05 ; 5 |
4172: 30 93 e0 04 sts 0x04E0, r19 |
4176: 86 e0 ldi r24, 0x06 ; 6 |
4178: 80 93 e1 04 sts 0x04E1, r24 |
417c: 87 e0 ldi r24, 0x07 ; 7 |
417e: 80 93 e2 04 sts 0x04E2, r24 |
4182: 28 e0 ldi r18, 0x08 ; 8 |
4184: 20 93 e3 04 sts 0x04E3, r18 |
4188: 10 92 e4 04 sts 0x04E4, r1 |
418c: 9e e1 ldi r25, 0x1E ; 30 |
418e: 90 93 e5 04 sts 0x04E5, r25 |
4192: 8b ef ldi r24, 0xFB ; 251 |
4194: 80 93 e7 04 sts 0x04E7, r24 |
4198: 8a e0 ldi r24, 0x0A ; 10 |
419a: 80 93 e8 04 sts 0x04E8, r24 |
419e: 86 e4 ldi r24, 0x46 ; 70 |
41a0: 80 93 e6 04 sts 0x04E6, r24 |
41a4: 90 93 ea 04 sts 0x04EA, r25 |
41a8: 50 93 e9 04 sts 0x04E9, r21 |
41ac: 40 93 eb 04 sts 0x04EB, r20 |
41b0: 20 93 ec 04 sts 0x04EC, r18 |
41b4: 90 e1 ldi r25, 0x10 ; 16 |
41b6: 90 93 ed 04 sts 0x04ED, r25 |
41ba: 8f e0 ldi r24, 0x0F ; 15 |
41bc: 80 93 ee 04 sts 0x04EE, r24 |
41c0: 8a ef ldi r24, 0xFA ; 250 |
41c2: 80 93 ef 04 sts 0x04EF, r24 |
41c6: 8a e1 ldi r24, 0x1A ; 26 |
41c8: 80 93 f0 04 sts 0x04F0, r24 |
41cc: 90 93 f1 04 sts 0x04F1, r25 |
41d0: 98 e7 ldi r25, 0x78 ; 120 |
41d2: 90 93 f2 04 sts 0x04F2, r25 |
41d6: 26 e9 ldi r18, 0x96 ; 150 |
41d8: 20 93 f3 04 sts 0x04F3, r18 |
41dc: 8a e5 ldi r24, 0x5A ; 90 |
41de: 80 93 f4 04 sts 0x04F4, r24 |
41e2: 83 e2 ldi r24, 0x23 ; 35 |
41e4: 80 93 f5 04 sts 0x04F5, r24 |
41e8: 84 e1 ldi r24, 0x14 ; 20 |
41ea: 80 93 f6 04 sts 0x04F6, r24 |
41ee: 10 92 f7 04 sts 0x04F7, r1 |
41f2: 30 93 f8 04 sts 0x04F8, r19 |
41f6: 90 93 f9 04 sts 0x04F9, r25 |
41fa: 90 93 fa 04 sts 0x04FA, r25 |
41fe: 10 92 fb 04 sts 0x04FB, r1 |
4202: 10 92 fc 04 sts 0x04FC, r1 |
4206: 84 e6 ldi r24, 0x64 ; 100 |
4208: 80 93 fd 04 sts 0x04FD, r24 |
420c: 88 e2 ldi r24, 0x28 ; 40 |
420e: 80 93 fe 04 sts 0x04FE, r24 |
4212: 10 92 02 05 sts 0x0502, r1 |
4216: 82 e3 ldi r24, 0x32 ; 50 |
4218: 80 93 ff 04 sts 0x04FF, r24 |
421c: 20 93 00 05 sts 0x0500, r18 |
4220: 30 93 01 05 sts 0x0501, r19 |
4224: aa e0 ldi r26, 0x0A ; 10 |
4226: b5 e0 ldi r27, 0x05 ; 5 |
4228: e2 e7 ldi r30, 0x72 ; 114 |
422a: f1 e0 ldi r31, 0x01 ; 1 |
422c: 8c e0 ldi r24, 0x0C ; 12 |
422e: 01 90 ld r0, Z+ |
4230: 0d 92 st X+, r0 |
4232: 81 50 subi r24, 0x01 ; 1 |
4234: e1 f7 brne .-8 ; 0x422e <DefaultKonstanten1+0xd6> |
4236: 08 95 ret |
00004238 <SendMotorData>: |
4238: 80 91 21 02 lds r24, 0x0221 |
423c: 88 23 and r24, r24 |
423e: 01 f5 brne .+64 ; 0x4280 <SendMotorData+0x48> |
4240: 10 92 64 02 sts 0x0264, r1 |
4244: 10 92 63 02 sts 0x0263, r1 |
4248: 10 92 67 02 sts 0x0267, r1 |
424c: 10 92 69 02 sts 0x0269, r1 |
4250: 80 91 96 01 lds r24, 0x0196 |
4254: 88 23 and r24, r24 |
4256: 11 f0 breq .+4 ; 0x425c <SendMotorData+0x24> |
4258: 80 93 63 02 sts 0x0263, r24 |
425c: 80 91 97 01 lds r24, 0x0197 |
4260: 88 23 and r24, r24 |
4262: 11 f0 breq .+4 ; 0x4268 <SendMotorData+0x30> |
4264: 80 93 64 02 sts 0x0264, r24 |
4268: 80 91 98 01 lds r24, 0x0198 |
426c: 88 23 and r24, r24 |
426e: 11 f0 breq .+4 ; 0x4274 <SendMotorData+0x3c> |
4270: 80 93 69 02 sts 0x0269, r24 |
4274: 80 91 99 01 lds r24, 0x0199 |
4278: 88 23 and r24, r24 |
427a: 11 f0 breq .+4 ; 0x4280 <SendMotorData+0x48> |
427c: 80 93 67 02 sts 0x0267, r24 |
4280: 80 91 63 02 lds r24, 0x0263 |
4284: 99 27 eor r25, r25 |
4286: 90 93 77 04 sts 0x0477, r25 |
428a: 80 93 76 04 sts 0x0476, r24 |
428e: 80 91 64 02 lds r24, 0x0264 |
4292: 99 27 eor r25, r25 |
4294: 90 93 79 04 sts 0x0479, r25 |
4298: 80 93 78 04 sts 0x0478, r24 |
429c: 80 91 69 02 lds r24, 0x0269 |
42a0: 99 27 eor r25, r25 |
42a2: 90 93 7b 04 sts 0x047B, r25 |
42a6: 80 93 7a 04 sts 0x047A, r24 |
42aa: 80 91 67 02 lds r24, 0x0267 |
42ae: 99 27 eor r25, r25 |
42b0: 90 93 7d 04 sts 0x047D, r25 |
42b4: 80 93 7c 04 sts 0x047C, r24 |
42b8: 10 92 ca 01 sts 0x01CA, r1 |
42bc: 10 92 cb 01 sts 0x01CB, r1 |
42c0: 0e 94 3b 18 call 0x3076 ; 0x3076 <i2c_start> |
42c4: 08 95 ret |
000042c6 <SetNeutral>: |
42c6: cf 93 push r28 |
42c8: df 93 push r29 |
42ca: 10 92 22 05 sts 0x0522, r1 |
42ce: 10 92 21 05 sts 0x0521, r1 |
42d2: 10 92 24 05 sts 0x0524, r1 |
42d6: 10 92 23 05 sts 0x0523, r1 |
42da: 80 e0 ldi r24, 0x00 ; 0 |
42dc: 90 e0 ldi r25, 0x00 ; 0 |
42de: a0 e0 ldi r26, 0x00 ; 0 |
42e0: b0 e0 ldi r27, 0x00 ; 0 |
42e2: 80 93 25 05 sts 0x0525, r24 |
42e6: 90 93 26 05 sts 0x0526, r25 |
42ea: a0 93 27 05 sts 0x0527, r26 |
42ee: b0 93 28 05 sts 0x0528, r27 |
42f2: 10 92 d3 01 sts 0x01D3, r1 |
42f6: 10 92 d2 01 sts 0x01D2, r1 |
42fa: 10 92 d5 01 sts 0x01D5, r1 |
42fe: 10 92 d4 01 sts 0x01D4, r1 |
4302: 10 92 d7 01 sts 0x01D7, r1 |
4306: 10 92 d6 01 sts 0x01D6, r1 |
430a: 0e 94 56 1c call 0x38ac ; 0x38ac <CalibrierMittelwert> |
430e: 85 e0 ldi r24, 0x05 ; 5 |
4310: 90 e0 ldi r25, 0x00 ; 0 |
4312: 0e 94 e9 0b call 0x17d2 ; 0x17d2 <SetDelay> |
4316: ec 01 movw r28, r24 |
4318: ce 01 movw r24, r28 |
431a: 0e 94 f2 0b call 0x17e4 ; 0x17e4 <CheckDelay> |
431e: 88 23 and r24, r24 |
4320: d9 f3 breq .-10 ; 0x4318 <SetNeutral+0x52> |
4322: 0e 94 56 1c call 0x38ac ; 0x38ac <CalibrierMittelwert> |
4326: 80 91 e4 04 lds r24, 0x04E4 |
432a: 80 ff sbrs r24, 0 |
432c: 10 c0 rjmp .+32 ; 0x434e <SetNeutral+0x88> |
432e: 80 91 0c 01 lds r24, 0x010C |
4332: 90 91 0d 01 lds r25, 0x010D |
4336: 87 5b subi r24, 0xB7 ; 183 |
4338: 93 40 sbci r25, 0x03 ; 3 |
433a: 38 f4 brcc .+14 ; 0x434a <SetNeutral+0x84> |
433c: 80 91 0c 01 lds r24, 0x010C |
4340: 90 91 0d 01 lds r25, 0x010D |
4344: 8e 5e subi r24, 0xEE ; 238 |
4346: 92 40 sbci r25, 0x02 ; 2 |
4348: 10 f4 brcc .+4 ; 0x434e <SetNeutral+0x88> |
434a: 0e 94 71 10 call 0x20e2 ; 0x20e2 <SucheLuftruckOffset> |
434e: 80 91 18 05 lds r24, 0x0518 |
4352: 90 91 19 05 lds r25, 0x0519 |
4356: 97 ff sbrs r25, 7 |
4358: 03 c0 rjmp .+6 ; 0x4360 <SetNeutral+0x9a> |
435a: 90 95 com r25 |
435c: 81 95 neg r24 |
435e: 9f 4f sbci r25, 0xFF ; 255 |
4360: 90 93 d3 01 sts 0x01D3, r25 |
4364: 80 93 d2 01 sts 0x01D2, r24 |
4368: 80 91 16 05 lds r24, 0x0516 |
436c: 90 91 17 05 lds r25, 0x0517 |
4370: 97 ff sbrs r25, 7 |
4372: 03 c0 rjmp .+6 ; 0x437a <SetNeutral+0xb4> |
4374: 90 95 com r25 |
4376: 81 95 neg r24 |
4378: 9f 4f sbci r25, 0xFF ; 255 |
437a: 90 93 d5 01 sts 0x01D5, r25 |
437e: 80 93 d4 01 sts 0x01D4, r24 |
4382: 80 91 2c 05 lds r24, 0x052C |
4386: 90 91 2d 05 lds r25, 0x052D |
438a: 97 ff sbrs r25, 7 |
438c: 03 c0 rjmp .+6 ; 0x4394 <SetNeutral+0xce> |
438e: 90 95 com r25 |
4390: 81 95 neg r24 |
4392: 9f 4f sbci r25, 0xFF ; 255 |
4394: 90 93 d7 01 sts 0x01D7, r25 |
4398: 80 93 d6 01 sts 0x01D6, r24 |
439c: 88 e0 ldi r24, 0x08 ; 8 |
439e: e1 e2 ldi r30, 0x21 ; 33 |
43a0: f5 e0 ldi r31, 0x05 ; 5 |
43a2: a8 ef ldi r26, 0xF8 ; 248 |
43a4: b1 e0 ldi r27, 0x01 ; 1 |
43a6: 18 2e mov r1, r24 |
43a8: 0e 94 00 2f call 0x5e00 ; 0x5e00 <__eeprom_read_block_1F2021> |
43ac: 10 92 ee 01 sts 0x01EE, r1 |
43b0: 10 92 ef 01 sts 0x01EF, r1 |
43b4: 10 92 f0 01 sts 0x01F0, r1 |
43b8: 10 92 f1 01 sts 0x01F1, r1 |
43bc: 10 92 f2 01 sts 0x01F2, r1 |
43c0: 10 92 f3 01 sts 0x01F3, r1 |
43c4: 10 92 f4 01 sts 0x01F4, r1 |
43c8: 10 92 f5 01 sts 0x01F5, r1 |
43cc: 10 92 f6 01 sts 0x01F6, r1 |
43d0: 10 92 f7 01 sts 0x01F7, r1 |
43d4: 10 92 f8 01 sts 0x01F8, r1 |
43d8: 10 92 f9 01 sts 0x01F9, r1 |
43dc: 10 92 fa 01 sts 0x01FA, r1 |
43e0: 10 92 fb 01 sts 0x01FB, r1 |
43e4: 10 92 fc 01 sts 0x01FC, r1 |
43e8: 10 92 fd 01 sts 0x01FD, r1 |
43ec: 10 92 fe 01 sts 0x01FE, r1 |
43f0: 10 92 ff 01 sts 0x01FF, r1 |
43f4: 10 92 00 02 sts 0x0200, r1 |
43f8: 10 92 01 02 sts 0x0201, r1 |
43fc: 10 92 19 05 sts 0x0519, r1 |
4400: 10 92 18 05 sts 0x0518, r1 |
4404: 10 92 17 05 sts 0x0517, r1 |
4408: 10 92 16 05 sts 0x0516, r1 |
440c: 10 92 2d 05 sts 0x052D, r1 |
4410: 10 92 2c 05 sts 0x052C, r1 |
4414: 80 91 08 01 lds r24, 0x0108 |
4418: 90 91 09 01 lds r25, 0x0109 |
441c: a0 91 0a 01 lds r26, 0x010A |
4420: b0 91 0b 01 lds r27, 0x010B |
4424: 90 93 84 04 sts 0x0484, r25 |
4428: 80 93 83 04 sts 0x0483, r24 |
442c: 10 92 c0 01 sts 0x01C0, r1 |
4430: 10 92 bf 01 sts 0x01BF, r1 |
4434: 10 92 06 02 sts 0x0206, r1 |
4438: 10 92 07 02 sts 0x0207, r1 |
443c: 10 92 08 02 sts 0x0208, r1 |
4440: 10 92 09 02 sts 0x0209, r1 |
4444: 80 91 0a 02 lds r24, 0x020A |
4448: 90 91 0b 02 lds r25, 0x020B |
444c: 90 93 0d 02 sts 0x020D, r25 |
4450: 80 93 0c 02 sts 0x020C, r24 |
4454: 0e 94 99 2c call 0x5932 ; 0x5932 <GPS_Neutral> |
4458: 82 e3 ldi r24, 0x32 ; 50 |
445a: 90 e0 ldi r25, 0x00 ; 0 |
445c: 90 93 a7 01 sts 0x01A7, r25 |
4460: 80 93 a6 01 sts 0x01A6, r24 |
4464: df 91 pop r29 |
4466: cf 91 pop r28 |
4468: 08 95 ret |
0000446a <Neutral_calib>: |
446a: cf 93 push r28 |
446c: df 93 push r29 |
446e: 0e 94 56 1c call 0x38ac ; 0x38ac <CalibrierMittelwert> |
4472: 85 e0 ldi r24, 0x05 ; 5 |
4474: 90 e0 ldi r25, 0x00 ; 0 |
4476: 0e 94 e9 0b call 0x17d2 ; 0x17d2 <SetDelay> |
447a: ec 01 movw r28, r24 |
447c: ce 01 movw r24, r28 |
447e: 0e 94 f2 0b call 0x17e4 ; 0x17e4 <CheckDelay> |
4482: 88 23 and r24, r24 |
4484: d9 f3 breq .-10 ; 0x447c <Neutral_calib+0x12> |
4486: 0e 94 56 1c call 0x38ac ; 0x38ac <CalibrierMittelwert> |
448a: 80 91 29 05 lds r24, 0x0529 |
448e: 90 91 2a 05 lds r25, 0x052A |
4492: c1 e2 ldi r28, 0x21 ; 33 |
4494: d5 e0 ldi r29, 0x05 ; 5 |
4496: 97 ff sbrs r25, 7 |
4498: 03 c0 rjmp .+6 ; 0x44a0 <Neutral_calib+0x36> |
449a: 90 95 com r25 |
449c: 81 95 neg r24 |
449e: 9f 4f sbci r25, 0xFF ; 255 |
44a0: 60 e1 ldi r22, 0x10 ; 16 |
44a2: 70 e0 ldi r23, 0x00 ; 0 |
44a4: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
44a8: 70 93 22 05 sts 0x0522, r23 |
44ac: 60 93 21 05 sts 0x0521, r22 |
44b0: 80 91 32 05 lds r24, 0x0532 |
44b4: 90 91 33 05 lds r25, 0x0533 |
44b8: 97 ff sbrs r25, 7 |
44ba: 03 c0 rjmp .+6 ; 0x44c2 <Neutral_calib+0x58> |
44bc: 90 95 com r25 |
44be: 81 95 neg r24 |
44c0: 9f 4f sbci r25, 0xFF ; 255 |
44c2: 60 e1 ldi r22, 0x10 ; 16 |
44c4: 70 e0 ldi r23, 0x00 ; 0 |
44c6: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
44ca: 70 93 24 05 sts 0x0524, r23 |
44ce: 60 93 23 05 sts 0x0523, r22 |
44d2: 60 91 81 04 lds r22, 0x0481 |
44d6: 70 91 82 04 lds r23, 0x0482 |
44da: 88 27 eor r24, r24 |
44dc: 77 fd sbrc r23, 7 |
44de: 80 95 com r24 |
44e0: 98 2f mov r25, r24 |
44e2: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
44e6: 60 93 25 05 sts 0x0525, r22 |
44ea: 70 93 26 05 sts 0x0526, r23 |
44ee: 80 93 27 05 sts 0x0527, r24 |
44f2: 90 93 28 05 sts 0x0528, r25 |
44f6: 88 e0 ldi r24, 0x08 ; 8 |
44f8: a8 ef ldi r26, 0xF8 ; 248 |
44fa: b1 e0 ldi r27, 0x01 ; 1 |
44fc: fe 01 movw r30, r28 |
44fe: 18 2e mov r1, r24 |
4500: 0e 94 11 2f call 0x5e22 ; 0x5e22 <__eeprom_write_block_1F2021> |
4504: df 91 pop r29 |
4506: cf 91 pop r28 |
4508: 08 95 ret |
0000450a <Piep>: |
450a: 1f 93 push r17 |
450c: 18 2f mov r17, r24 |
450e: 0e c0 rjmp .+28 ; 0x452c <Piep+0x22> |
4510: 80 91 21 02 lds r24, 0x0221 |
4514: 88 23 and r24, r24 |
4516: 61 f4 brne .+24 ; 0x4530 <Piep+0x26> |
4518: 84 e6 ldi r24, 0x64 ; 100 |
451a: 90 e0 ldi r25, 0x00 ; 0 |
451c: 90 93 a7 01 sts 0x01A7, r25 |
4520: 80 93 a6 01 sts 0x01A6, r24 |
4524: 8a ef ldi r24, 0xFA ; 250 |
4526: 90 e0 ldi r25, 0x00 ; 0 |
4528: 0e 94 5c 0d call 0x1ab8 ; 0x1ab8 <Delay_ms> |
452c: 11 50 subi r17, 0x01 ; 1 |
452e: 80 f7 brcc .-32 ; 0x4510 <Piep+0x6> |
4530: 1f 91 pop r17 |
4532: 08 95 ret |
00004534 <MotorRegler>: |
4534: a8 e0 ldi r26, 0x08 ; 8 |
4536: b0 e0 ldi r27, 0x00 ; 0 |
4538: e0 ea ldi r30, 0xA0 ; 160 |
453a: f2 e2 ldi r31, 0x22 ; 34 |
453c: 0c 94 bb 2e jmp 0x5d76 ; 0x5d76 <__prologue_saves__> |
4540: 0e 94 95 19 call 0x332a ; 0x332a <Mittelwert> |
4544: 29 9a sbi 0x05, 1 ; 5 |
4546: e0 91 de 04 lds r30, 0x04DE |
454a: ae 2f mov r26, r30 |
454c: bb 27 eor r27, r27 |
454e: aa 0f add r26, r26 |
4550: bb 1f adc r27, r27 |
4552: a0 55 subi r26, 0x50 ; 80 |
4554: bb 4f sbci r27, 0xFB ; 251 |
4556: 0d 90 ld r0, X+ |
4558: bc 91 ld r27, X |
455a: a0 2d mov r26, r0 |
455c: 9d 01 movw r18, r26 |
455e: 28 58 subi r18, 0x88 ; 136 |
4560: 3f 4f sbci r19, 0xFF ; 255 |
4562: 3a 83 std Y+2, r19 ; 0x02 |
4564: 29 83 std Y+1, r18 ; 0x01 |
4566: 37 ff sbrs r19, 7 |
4568: 02 c0 rjmp .+4 ; 0x456e <MotorRegler+0x3a> |
456a: 1a 82 std Y+2, r1 ; 0x02 |
456c: 19 82 std Y+1, r1 ; 0x01 |
456e: 80 91 1a 02 lds r24, 0x021A |
4572: 84 36 cpi r24, 0x64 ; 100 |
4574: 08 f0 brcs .+2 ; 0x4578 <MotorRegler+0x44> |
4576: 4a c0 rjmp .+148 ; 0x460c <MotorRegler+0xd8> |
4578: 80 91 01 01 lds r24, 0x0101 |
457c: 88 23 and r24, r24 |
457e: 31 f4 brne .+12 ; 0x458c <MotorRegler+0x58> |
4580: 84 ef ldi r24, 0xF4 ; 244 |
4582: 91 e0 ldi r25, 0x01 ; 1 |
4584: 90 93 a7 01 sts 0x01A7, r25 |
4588: 80 93 a6 01 sts 0x01A6, r24 |
458c: 80 91 33 02 lds r24, 0x0233 |
4590: 90 91 34 02 lds r25, 0x0234 |
4594: 00 97 sbiw r24, 0x00 ; 0 |
4596: 31 f0 breq .+12 ; 0x45a4 <MotorRegler+0x70> |
4598: 01 97 sbiw r24, 0x01 ; 1 |
459a: 90 93 34 02 sts 0x0234, r25 |
459e: 80 93 33 02 sts 0x0233, r24 |
45a2: 04 c0 rjmp .+8 ; 0x45ac <MotorRegler+0x78> |
45a4: 10 92 21 02 sts 0x0221, r1 |
45a8: 10 92 10 02 sts 0x0210, r1 |
45ac: 28 9a sbi 0x05, 0 ; 5 |
45ae: 80 91 2e 02 lds r24, 0x022E |
45b2: 90 91 2f 02 lds r25, 0x022F |
45b6: 81 5d subi r24, 0xD1 ; 209 |
45b8: 97 40 sbci r25, 0x07 ; 7 |
45ba: 28 f1 brcs .+74 ; 0x4606 <MotorRegler+0xd2> |
45bc: 80 91 f5 04 lds r24, 0x04F5 |
45c0: 48 2f mov r20, r24 |
45c2: 55 27 eor r21, r21 |
45c4: 5a 83 std Y+2, r21 ; 0x02 |
45c6: 49 83 std Y+1, r20 ; 0x01 |
45c8: 81 e0 ldi r24, 0x01 ; 1 |
45ca: 80 93 10 02 sts 0x0210, r24 |
45ce: e0 91 dc 04 lds r30, 0x04DC |
45d2: ff 27 eor r31, r31 |
45d4: ee 0f add r30, r30 |
45d6: ff 1f adc r31, r31 |
45d8: e0 55 subi r30, 0x50 ; 80 |
45da: fb 4f sbci r31, 0xFB ; 251 |
45dc: 11 82 std Z+1, r1 ; 0x01 |
45de: 10 82 st Z, r1 |
45e0: e0 91 dd 04 lds r30, 0x04DD |
45e4: ff 27 eor r31, r31 |
45e6: ee 0f add r30, r30 |
45e8: ff 1f adc r31, r31 |
45ea: e0 55 subi r30, 0x50 ; 80 |
45ec: fb 4f sbci r31, 0xFB ; 251 |
45ee: 11 82 std Z+1, r1 ; 0x01 |
45f0: 10 82 st Z, r1 |
45f2: e0 91 df 04 lds r30, 0x04DF |
45f6: ff 27 eor r31, r31 |
45f8: ee 0f add r30, r30 |
45fa: ff 1f adc r31, r31 |
45fc: e0 55 subi r30, 0x50 ; 80 |
45fe: fb 4f sbci r31, 0xFB ; 251 |
4600: 11 82 std Z+1, r1 ; 0x01 |
4602: 10 82 st Z, r1 |
4604: ce c1 rjmp .+924 ; 0x49a2 <MotorRegler+0x46e> |
4606: 10 92 21 02 sts 0x0221, r1 |
460a: cb c1 rjmp .+918 ; 0x49a2 <MotorRegler+0x46e> |
460c: 80 91 1a 02 lds r24, 0x021A |
4610: 8d 38 cpi r24, 0x8D ; 141 |
4612: 08 f4 brcc .+2 ; 0x4616 <MotorRegler+0xe2> |
4614: c6 c1 rjmp .+908 ; 0x49a2 <MotorRegler+0x46e> |
4616: 10 92 10 02 sts 0x0210, r1 |
461a: 80 91 f6 04 lds r24, 0x04F6 |
461e: 22 e3 ldi r18, 0x32 ; 50 |
4620: 82 9f mul r24, r18 |
4622: c0 01 movw r24, r0 |
4624: 11 24 eor r1, r1 |
4626: 90 93 34 02 sts 0x0234, r25 |
462a: 80 93 33 02 sts 0x0233, r24 |
462e: 69 81 ldd r22, Y+1 ; 0x01 |
4630: 7a 81 ldd r23, Y+2 ; 0x02 |
4632: 69 32 cpi r22, 0x29 ; 41 |
4634: 71 05 cpc r23, r1 |
4636: 6c f0 brlt .+26 ; 0x4652 <MotorRegler+0x11e> |
4638: 80 91 2e 02 lds r24, 0x022E |
463c: 90 91 2f 02 lds r25, 0x022F |
4640: 7f ef ldi r23, 0xFF ; 255 |
4642: 8f 3f cpi r24, 0xFF ; 255 |
4644: 97 07 cpc r25, r23 |
4646: 81 f1 breq .+96 ; 0x46a8 <MotorRegler+0x174> |
4648: 01 96 adiw r24, 0x01 ; 1 |
464a: 90 93 2f 02 sts 0x022F, r25 |
464e: 80 93 2e 02 sts 0x022E, r24 |
4652: 80 91 2e 02 lds r24, 0x022E |
4656: 90 91 2f 02 lds r25, 0x022F |
465a: 88 3c cpi r24, 0xC8 ; 200 |
465c: 91 05 cpc r25, r1 |
465e: 20 f0 brcs .+8 ; 0x4668 <MotorRegler+0x134> |
4660: 89 81 ldd r24, Y+1 ; 0x01 |
4662: 9a 81 ldd r25, Y+2 ; 0x02 |
4664: 88 97 sbiw r24, 0x28 ; 40 |
4666: 04 f5 brge .+64 ; 0x46a8 <MotorRegler+0x174> |
4668: 10 92 49 02 sts 0x0249, r1 |
466c: 10 92 4a 02 sts 0x024A, r1 |
4670: 10 92 4b 02 sts 0x024B, r1 |
4674: 10 92 4c 02 sts 0x024C, r1 |
4678: 10 92 45 02 sts 0x0245, r1 |
467c: 10 92 46 02 sts 0x0246, r1 |
4680: 10 92 47 02 sts 0x0247, r1 |
4684: 10 92 48 02 sts 0x0248, r1 |
4688: 10 92 fe 01 sts 0x01FE, r1 |
468c: 10 92 ff 01 sts 0x01FF, r1 |
4690: 10 92 00 02 sts 0x0200, r1 |
4694: 10 92 01 02 sts 0x0201, r1 |
4698: 10 92 02 02 sts 0x0202, r1 |
469c: 10 92 03 02 sts 0x0203, r1 |
46a0: 10 92 04 02 sts 0x0204, r1 |
46a4: 10 92 05 02 sts 0x0205, r1 |
46a8: e9 81 ldd r30, Y+1 ; 0x01 |
46aa: fa 81 ldd r31, Y+2 ; 0x02 |
46ac: e9 3c cpi r30, 0xC9 ; 201 |
46ae: f1 05 cpc r31, r1 |
46b0: 0c f4 brge .+2 ; 0x46b4 <MotorRegler+0x180> |
46b2: d6 c0 rjmp .+428 ; 0x4860 <MotorRegler+0x32c> |
46b4: 80 91 21 02 lds r24, 0x0221 |
46b8: 88 23 and r24, r24 |
46ba: 09 f0 breq .+2 ; 0x46be <MotorRegler+0x18a> |
46bc: 72 c1 rjmp .+740 ; 0x49a2 <MotorRegler+0x46e> |
46be: e0 91 df 04 lds r30, 0x04DF |
46c2: ff 27 eor r31, r31 |
46c4: ee 0f add r30, r30 |
46c6: ff 1f adc r31, r31 |
46c8: e0 55 subi r30, 0x50 ; 80 |
46ca: fb 4f sbci r31, 0xFB ; 251 |
46cc: 80 81 ld r24, Z |
46ce: 91 81 ldd r25, Z+1 ; 0x01 |
46d0: 8c 34 cpi r24, 0x4C ; 76 |
46d2: 91 05 cpc r25, r1 |
46d4: 0c f4 brge .+2 ; 0x46d8 <MotorRegler+0x1a4> |
46d6: c1 c0 rjmp .+386 ; 0x485a <MotorRegler+0x326> |
46d8: 80 91 32 02 lds r24, 0x0232 |
46dc: 8f 5f subi r24, 0xFF ; 255 |
46de: 80 93 32 02 sts 0x0232, r24 |
46e2: 89 3c cpi r24, 0xC9 ; 201 |
46e4: 08 f4 brcc .+2 ; 0x46e8 <MotorRegler+0x1b4> |
46e6: 5d c1 rjmp .+698 ; 0x49a2 <MotorRegler+0x46e> |
46e8: 29 98 cbi 0x05, 1 ; 5 |
46ea: 0e 94 63 21 call 0x42c6 ; 0x42c6 <SetNeutral> |
46ee: 10 92 21 02 sts 0x0221, r1 |
46f2: 10 92 32 02 sts 0x0232, r1 |
46f6: 10 92 2f 02 sts 0x022F, r1 |
46fa: 10 92 2e 02 sts 0x022E, r1 |
46fe: 80 91 dc 04 lds r24, 0x04DC |
4702: 28 2f mov r18, r24 |
4704: 33 27 eor r19, r19 |
4706: f9 01 movw r30, r18 |
4708: ee 0f add r30, r30 |
470a: ff 1f adc r31, r31 |
470c: e0 55 subi r30, 0x50 ; 80 |
470e: fb 4f sbci r31, 0xFB ; 251 |
4710: 80 81 ld r24, Z |
4712: 91 81 ldd r25, Z+1 ; 0x01 |
4714: 87 34 cpi r24, 0x47 ; 71 |
4716: 91 05 cpc r25, r1 |
4718: 9c f4 brge .+38 ; 0x4740 <MotorRegler+0x20c> |
471a: e0 91 dd 04 lds r30, 0x04DD |
471e: ff 27 eor r31, r31 |
4720: ee 0f add r30, r30 |
4722: ff 1f adc r31, r31 |
4724: e0 55 subi r30, 0x50 ; 80 |
4726: fb 4f sbci r31, 0xFB ; 251 |
4728: 01 90 ld r0, Z+ |
472a: f0 81 ld r31, Z |
472c: e0 2d mov r30, r0 |
472e: f7 ff sbrs r31, 7 |
4730: 03 c0 rjmp .+6 ; 0x4738 <MotorRegler+0x204> |
4732: f0 95 com r31 |
4734: e1 95 neg r30 |
4736: ff 4f sbci r31, 0xFF ; 255 |
4738: e7 34 cpi r30, 0x47 ; 71 |
473a: f1 05 cpc r31, r1 |
473c: 0c f4 brge .+2 ; 0x4740 <MotorRegler+0x20c> |
473e: 6c c0 rjmp .+216 ; 0x4818 <MotorRegler+0x2e4> |
4740: 80 91 dd 04 lds r24, 0x04DD |
4744: 68 2f mov r22, r24 |
4746: 77 27 eor r23, r23 |
4748: db 01 movw r26, r22 |
474a: aa 0f add r26, r26 |
474c: bb 1f adc r27, r27 |
474e: a0 55 subi r26, 0x50 ; 80 |
4750: bb 4f sbci r27, 0xFB ; 251 |
4752: 8d 91 ld r24, X+ |
4754: 9c 91 ld r25, X |
4756: 11 97 sbiw r26, 0x01 ; 1 |
4758: 87 34 cpi r24, 0x47 ; 71 |
475a: 91 05 cpc r25, r1 |
475c: 3c f0 brlt .+14 ; 0x476c <MotorRegler+0x238> |
475e: f9 01 movw r30, r18 |
4760: ee 0f add r30, r30 |
4762: ff 1f adc r31, r31 |
4764: e0 55 subi r30, 0x50 ; 80 |
4766: fb 4f sbci r31, 0xFB ; 251 |
4768: 80 81 ld r24, Z |
476a: 91 81 ldd r25, Z+1 ; 0x01 |
476c: 8d 91 ld r24, X+ |
476e: 9c 91 ld r25, X |
4770: 87 34 cpi r24, 0x47 ; 71 |
4772: 91 05 cpc r25, r1 |
4774: 64 f0 brlt .+24 ; 0x478e <MotorRegler+0x25a> |
4776: f9 01 movw r30, r18 |
4778: ee 0f add r30, r30 |
477a: ff 1f adc r31, r31 |
477c: e0 55 subi r30, 0x50 ; 80 |
477e: fb 4f sbci r31, 0xFB ; 251 |
4780: 80 81 ld r24, Z |
4782: 91 81 ldd r25, Z+1 ; 0x01 |
4784: 87 34 cpi r24, 0x47 ; 71 |
4786: 91 05 cpc r25, r1 |
4788: 14 f0 brlt .+4 ; 0x478e <MotorRegler+0x25a> |
478a: 42 e0 ldi r20, 0x02 ; 2 |
478c: 01 c0 rjmp .+2 ; 0x4790 <MotorRegler+0x25c> |
478e: 41 e0 ldi r20, 0x01 ; 1 |
4790: fb 01 movw r30, r22 |
4792: ee 0f add r30, r30 |
4794: ff 1f adc r31, r31 |
4796: e0 55 subi r30, 0x50 ; 80 |
4798: fb 4f sbci r31, 0xFB ; 251 |
479a: 80 81 ld r24, Z |
479c: 91 81 ldd r25, Z+1 ; 0x01 |
479e: 86 34 cpi r24, 0x46 ; 70 |
47a0: 91 05 cpc r25, r1 |
47a2: 5c f4 brge .+22 ; 0x47ba <MotorRegler+0x286> |
47a4: f9 01 movw r30, r18 |
47a6: ee 0f add r30, r30 |
47a8: ff 1f adc r31, r31 |
47aa: e0 55 subi r30, 0x50 ; 80 |
47ac: fb 4f sbci r31, 0xFB ; 251 |
47ae: 80 81 ld r24, Z |
47b0: 91 81 ldd r25, Z+1 ; 0x01 |
47b2: 87 34 cpi r24, 0x47 ; 71 |
47b4: 91 05 cpc r25, r1 |
47b6: 0c f0 brlt .+2 ; 0x47ba <MotorRegler+0x286> |
47b8: 43 e0 ldi r20, 0x03 ; 3 |
47ba: fb 01 movw r30, r22 |
47bc: ee 0f add r30, r30 |
47be: ff 1f adc r31, r31 |
47c0: e0 55 subi r30, 0x50 ; 80 |
47c2: fb 4f sbci r31, 0xFB ; 251 |
47c4: 80 81 ld r24, Z |
47c6: 91 81 ldd r25, Z+1 ; 0x01 |
47c8: 8a 5b subi r24, 0xBA ; 186 |
47ca: 9f 4f sbci r25, 0xFF ; 255 |
47cc: 5c f4 brge .+22 ; 0x47e4 <MotorRegler+0x2b0> |
47ce: f9 01 movw r30, r18 |
47d0: ee 0f add r30, r30 |
47d2: ff 1f adc r31, r31 |
47d4: e0 55 subi r30, 0x50 ; 80 |
47d6: fb 4f sbci r31, 0xFB ; 251 |
47d8: 80 81 ld r24, Z |
47da: 91 81 ldd r25, Z+1 ; 0x01 |
47dc: 87 34 cpi r24, 0x47 ; 71 |
47de: 91 05 cpc r25, r1 |
47e0: 0c f0 brlt .+2 ; 0x47e4 <MotorRegler+0x2b0> |
47e2: 44 e0 ldi r20, 0x04 ; 4 |
47e4: 66 0f add r22, r22 |
47e6: 77 1f adc r23, r23 |
47e8: 60 55 subi r22, 0x50 ; 80 |
47ea: 7b 4f sbci r23, 0xFB ; 251 |
47ec: fb 01 movw r30, r22 |
47ee: 80 81 ld r24, Z |
47f0: 91 81 ldd r25, Z+1 ; 0x01 |
47f2: 8a 5b subi r24, 0xBA ; 186 |
47f4: 9f 4f sbci r25, 0xFF ; 255 |
47f6: 5c f4 brge .+22 ; 0x480e <MotorRegler+0x2da> |
47f8: 22 0f add r18, r18 |
47fa: 33 1f adc r19, r19 |
47fc: 20 55 subi r18, 0x50 ; 80 |
47fe: 3b 4f sbci r19, 0xFB ; 251 |
4800: f9 01 movw r30, r18 |
4802: 80 81 ld r24, Z |
4804: 91 81 ldd r25, Z+1 ; 0x01 |
4806: 86 34 cpi r24, 0x46 ; 70 |
4808: 91 05 cpc r25, r1 |
480a: 0c f4 brge .+2 ; 0x480e <MotorRegler+0x2da> |
480c: 45 e0 ldi r20, 0x05 ; 5 |
480e: a2 e0 ldi r26, 0x02 ; 2 |
4810: b0 e0 ldi r27, 0x00 ; 0 |
4812: 04 2e mov r0, r20 |
4814: 0e 94 05 2f call 0x5e0a ; 0x5e0a <__eeprom_write_byte_1F2021> |
4818: 0e 94 fc 03 call 0x7f8 ; 0x7f8 <GetActiveParamSetNumber> |
481c: 4a e3 ldi r20, 0x3A ; 58 |
481e: 6c ed ldi r22, 0xDC ; 220 |
4820: 74 e0 ldi r23, 0x04 ; 4 |
4822: 0e 94 1b 04 call 0x836 ; 0x836 <ReadParameterSet> |
4826: 0e 94 fc 03 call 0x7f8 ; 0x7f8 <GetActiveParamSetNumber> |
482a: 0e 94 85 22 call 0x450a ; 0x450a <Piep> |
482e: 80 91 e4 04 lds r24, 0x04E4 |
4832: 80 ff sbrs r24, 0 |
4834: b6 c0 rjmp .+364 ; 0x49a2 <MotorRegler+0x46e> |
4836: 80 91 0c 01 lds r24, 0x010C |
483a: 90 91 0d 01 lds r25, 0x010D |
483e: 87 5b subi r24, 0xB7 ; 183 |
4840: 93 40 sbci r25, 0x03 ; 3 |
4842: 40 f4 brcc .+16 ; 0x4854 <MotorRegler+0x320> |
4844: 80 91 0c 01 lds r24, 0x010C |
4848: 90 91 0d 01 lds r25, 0x010D |
484c: 8e 5e subi r24, 0xEE ; 238 |
484e: 92 40 sbci r25, 0x02 ; 2 |
4850: 08 f0 brcs .+2 ; 0x4854 <MotorRegler+0x320> |
4852: a7 c0 rjmp .+334 ; 0x49a2 <MotorRegler+0x46e> |
4854: 0e 94 71 10 call 0x20e2 ; 0x20e2 <SucheLuftruckOffset> |
4858: a4 c0 rjmp .+328 ; 0x49a2 <MotorRegler+0x46e> |
485a: 10 92 32 02 sts 0x0232, r1 |
485e: a1 c0 rjmp .+322 ; 0x49a2 <MotorRegler+0x46e> |
4860: 49 81 ldd r20, Y+1 ; 0x01 |
4862: 5a 81 ldd r21, Y+2 ; 0x02 |
4864: 43 32 cpi r20, 0x23 ; 35 |
4866: 51 05 cpc r21, r1 |
4868: 0c f0 brlt .+2 ; 0x486c <MotorRegler+0x338> |
486a: 9b c0 rjmp .+310 ; 0x49a2 <MotorRegler+0x46e> |
486c: 80 91 df 04 lds r24, 0x04DF |
4870: 48 2f mov r20, r24 |
4872: 55 27 eor r21, r21 |
4874: fa 01 movw r30, r20 |
4876: ee 0f add r30, r30 |
4878: ff 1f adc r31, r31 |
487a: e0 55 subi r30, 0x50 ; 80 |
487c: fb 4f sbci r31, 0xFB ; 251 |
487e: 80 81 ld r24, Z |
4880: 91 81 ldd r25, Z+1 ; 0x01 |
4882: 85 5b subi r24, 0xB5 ; 181 |
4884: 9f 4f sbci r25, 0xFF ; 255 |
4886: 0c f0 brlt .+2 ; 0x488a <MotorRegler+0x356> |
4888: 6d c0 rjmp .+218 ; 0x4964 <MotorRegler+0x430> |
488a: 80 91 31 02 lds r24, 0x0231 |
488e: 8f 5f subi r24, 0xFF ; 255 |
4890: 80 93 31 02 sts 0x0231, r24 |
4894: 89 3c cpi r24, 0xC9 ; 201 |
4896: 08 f4 brcc .+2 ; 0x489a <MotorRegler+0x366> |
4898: 67 c0 rjmp .+206 ; 0x4968 <MotorRegler+0x434> |
489a: 88 ec ldi r24, 0xC8 ; 200 |
489c: 80 93 31 02 sts 0x0231, r24 |
48a0: 81 e0 ldi r24, 0x01 ; 1 |
48a2: 90 e0 ldi r25, 0x00 ; 0 |
48a4: 90 93 2f 02 sts 0x022F, r25 |
48a8: 80 93 2e 02 sts 0x022E, r24 |
48ac: 81 e0 ldi r24, 0x01 ; 1 |
48ae: 80 93 21 02 sts 0x0221, r24 |
48b2: 10 92 41 02 sts 0x0241, r1 |
48b6: 10 92 42 02 sts 0x0242, r1 |
48ba: 10 92 43 02 sts 0x0243, r1 |
48be: 10 92 44 02 sts 0x0244, r1 |
48c2: 10 92 fe 01 sts 0x01FE, r1 |
48c6: 10 92 ff 01 sts 0x01FF, r1 |
48ca: 10 92 00 02 sts 0x0200, r1 |
48ce: 10 92 01 02 sts 0x0201, r1 |
48d2: 10 92 02 02 sts 0x0202, r1 |
48d6: 10 92 03 02 sts 0x0203, r1 |
48da: 10 92 04 02 sts 0x0204, r1 |
48de: 10 92 05 02 sts 0x0205, r1 |
48e2: 10 92 ee 01 sts 0x01EE, r1 |
48e6: 10 92 ef 01 sts 0x01EF, r1 |
48ea: 10 92 f0 01 sts 0x01F0, r1 |
48ee: 10 92 f1 01 sts 0x01F1, r1 |
48f2: 10 92 f6 01 sts 0x01F6, r1 |
48f6: 10 92 f7 01 sts 0x01F7, r1 |
48fa: 10 92 f8 01 sts 0x01F8, r1 |
48fe: 10 92 f9 01 sts 0x01F9, r1 |
4902: 80 91 da 01 lds r24, 0x01DA |
4906: 90 91 db 01 lds r25, 0x01DB |
490a: a0 91 dc 01 lds r26, 0x01DC |
490e: b0 91 dd 01 lds r27, 0x01DD |
4912: 80 93 f2 01 sts 0x01F2, r24 |
4916: 90 93 f3 01 sts 0x01F3, r25 |
491a: a0 93 f4 01 sts 0x01F4, r26 |
491e: b0 93 f5 01 sts 0x01F5, r27 |
4922: 80 91 e2 01 lds r24, 0x01E2 |
4926: 90 91 e3 01 lds r25, 0x01E3 |
492a: a0 91 e4 01 lds r26, 0x01E4 |
492e: b0 91 e5 01 lds r27, 0x01E5 |
4932: 80 93 fa 01 sts 0x01FA, r24 |
4936: 90 93 fb 01 sts 0x01FB, r25 |
493a: a0 93 fc 01 sts 0x01FC, r26 |
493e: b0 93 fd 01 sts 0x01FD, r27 |
4942: 10 92 49 02 sts 0x0249, r1 |
4946: 10 92 4a 02 sts 0x024A, r1 |
494a: 10 92 4b 02 sts 0x024B, r1 |
494e: 10 92 4c 02 sts 0x024C, r1 |
4952: 10 92 45 02 sts 0x0245, r1 |
4956: 10 92 46 02 sts 0x0246, r1 |
495a: 10 92 47 02 sts 0x0247, r1 |
495e: 10 92 48 02 sts 0x0248, r1 |
4962: 02 c0 rjmp .+4 ; 0x4968 <MotorRegler+0x434> |
4964: 10 92 31 02 sts 0x0231, r1 |
4968: 44 0f add r20, r20 |
496a: 55 1f adc r21, r21 |
496c: 40 55 subi r20, 0x50 ; 80 |
496e: 5b 4f sbci r21, 0xFB ; 251 |
4970: fa 01 movw r30, r20 |
4972: 80 81 ld r24, Z |
4974: 91 81 ldd r25, Z+1 ; 0x01 |
4976: 8c 34 cpi r24, 0x4C ; 76 |
4978: 91 05 cpc r25, r1 |
497a: 8c f0 brlt .+34 ; 0x499e <MotorRegler+0x46a> |
497c: 80 91 30 02 lds r24, 0x0230 |
4980: 8f 5f subi r24, 0xFF ; 255 |
4982: 80 93 30 02 sts 0x0230, r24 |
4986: 89 3c cpi r24, 0xC9 ; 201 |
4988: 60 f0 brcs .+24 ; 0x49a2 <MotorRegler+0x46e> |
498a: 10 92 21 02 sts 0x0221, r1 |
498e: 88 ec ldi r24, 0xC8 ; 200 |
4990: 80 93 30 02 sts 0x0230, r24 |
4994: 10 92 2f 02 sts 0x022F, r1 |
4998: 10 92 2e 02 sts 0x022E, r1 |
499c: 02 c0 rjmp .+4 ; 0x49a2 <MotorRegler+0x46e> |
499e: 10 92 30 02 sts 0x0230, r1 |
49a2: 80 91 69 01 lds r24, 0x0169 |
49a6: 81 50 subi r24, 0x01 ; 1 |
49a8: 80 93 69 01 sts 0x0169, r24 |
49ac: 80 91 69 01 lds r24, 0x0169 |
49b0: 8f 3f cpi r24, 0xFF ; 255 |
49b2: 29 f0 breq .+10 ; 0x49be <MotorRegler+0x48a> |
49b4: 80 91 10 02 lds r24, 0x0210 |
49b8: 88 23 and r24, r24 |
49ba: 09 f4 brne .+2 ; 0x49be <MotorRegler+0x48a> |
49bc: 12 c1 rjmp .+548 ; 0x4be2 <MotorRegler+0x6ae> |
49be: 0e 94 f2 1d call 0x3be4 ; 0x3be4 <ParameterZuordnung> |
49c2: e0 91 dc 04 lds r30, 0x04DC |
49c6: ff 27 eor r31, r31 |
49c8: ee 0f add r30, r30 |
49ca: ff 1f adc r31, r31 |
49cc: df 01 movw r26, r30 |
49ce: a0 55 subi r26, 0x50 ; 80 |
49d0: bb 4f sbci r27, 0xFB ; 251 |
49d2: 8d 91 ld r24, X+ |
49d4: 9c 91 ld r25, X |
49d6: 60 91 eb 04 lds r22, 0x04EB |
49da: 77 27 eor r23, r23 |
49dc: ea 53 subi r30, 0x3A ; 58 |
49de: fb 4f sbci r31, 0xFB ; 251 |
49e0: 20 81 ld r18, Z |
49e2: 31 81 ldd r19, Z+1 ; 0x01 |
49e4: 40 91 ec 04 lds r20, 0x04EC |
49e8: 55 27 eor r21, r21 |
49ea: fc 01 movw r30, r24 |
49ec: e6 9f mul r30, r22 |
49ee: c0 01 movw r24, r0 |
49f0: e7 9f mul r30, r23 |
49f2: 90 0d add r25, r0 |
49f4: f6 9f mul r31, r22 |
49f6: 90 0d add r25, r0 |
49f8: 11 24 eor r1, r1 |
49fa: f9 01 movw r30, r18 |
49fc: e4 9f mul r30, r20 |
49fe: 90 01 movw r18, r0 |
4a00: e5 9f mul r30, r21 |
4a02: 30 0d add r19, r0 |
4a04: f4 9f mul r31, r20 |
4a06: 30 0d add r19, r0 |
4a08: 11 24 eor r1, r1 |
4a0a: 82 0f add r24, r18 |
4a0c: 93 1f adc r25, r19 |
4a0e: 90 93 1c 02 sts 0x021C, r25 |
4a12: 80 93 1b 02 sts 0x021B, r24 |
4a16: e0 91 dd 04 lds r30, 0x04DD |
4a1a: ff 27 eor r31, r31 |
4a1c: ee 0f add r30, r30 |
4a1e: ff 1f adc r31, r31 |
4a20: df 01 movw r26, r30 |
4a22: a0 55 subi r26, 0x50 ; 80 |
4a24: bb 4f sbci r27, 0xFB ; 251 |
4a26: 8d 91 ld r24, X+ |
4a28: 9c 91 ld r25, X |
4a2a: ea 53 subi r30, 0x3A ; 58 |
4a2c: fb 4f sbci r31, 0xFB ; 251 |
4a2e: 20 81 ld r18, Z |
4a30: 31 81 ldd r19, Z+1 ; 0x01 |
4a32: fc 01 movw r30, r24 |
4a34: e6 9f mul r30, r22 |
4a36: c0 01 movw r24, r0 |
4a38: e7 9f mul r30, r23 |
4a3a: 90 0d add r25, r0 |
4a3c: f6 9f mul r31, r22 |
4a3e: 90 0d add r25, r0 |
4a40: 11 24 eor r1, r1 |
4a42: b9 01 movw r22, r18 |
4a44: 64 9f mul r22, r20 |
4a46: 90 01 movw r18, r0 |
4a48: 65 9f mul r22, r21 |
4a4a: 30 0d add r19, r0 |
4a4c: 74 9f mul r23, r20 |
4a4e: 30 0d add r19, r0 |
4a50: 11 24 eor r1, r1 |
4a52: 82 0f add r24, r18 |
4a54: 93 1f adc r25, r19 |
4a56: 90 93 1e 02 sts 0x021E, r25 |
4a5a: 80 93 1d 02 sts 0x021D, r24 |
4a5e: e0 91 df 04 lds r30, 0x04DF |
4a62: ff 27 eor r31, r31 |
4a64: ee 0f add r30, r30 |
4a66: ff 1f adc r31, r31 |
4a68: e0 55 subi r30, 0x50 ; 80 |
4a6a: fb 4f sbci r31, 0xFB ; 251 |
4a6c: 80 81 ld r24, Z |
4a6e: 91 81 ldd r25, Z+1 ; 0x01 |
4a70: 90 95 com r25 |
4a72: 81 95 neg r24 |
4a74: 9f 4f sbci r25, 0xFF ; 255 |
4a76: 90 93 20 02 sts 0x0220, r25 |
4a7a: 80 93 1f 02 sts 0x021F, r24 |
4a7e: 10 91 87 01 lds r17, 0x0187 |
4a82: 61 2f mov r22, r17 |
4a84: 77 27 eor r23, r23 |
4a86: 67 fd sbrc r22, 7 |
4a88: 70 95 com r23 |
4a8a: 87 2f mov r24, r23 |
4a8c: 97 2f mov r25, r23 |
4a8e: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
4a92: 17 ff sbrs r17, 7 |
4a94: 06 c0 rjmp .+12 ; 0x4aa2 <MotorRegler+0x56e> |
4a96: 20 e0 ldi r18, 0x00 ; 0 |
4a98: 30 e0 ldi r19, 0x00 ; 0 |
4a9a: 40 e8 ldi r20, 0x80 ; 128 |
4a9c: 53 e4 ldi r21, 0x43 ; 67 |
4a9e: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
4aa2: 20 e0 ldi r18, 0x00 ; 0 |
4aa4: 30 e0 ldi r19, 0x00 ; 0 |
4aa6: 40 e2 ldi r20, 0x20 ; 32 |
4aa8: 51 e4 ldi r21, 0x41 ; 65 |
4aaa: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
4aae: 20 e0 ldi r18, 0x00 ; 0 |
4ab0: 30 e0 ldi r19, 0x00 ; 0 |
4ab2: 40 e8 ldi r20, 0x80 ; 128 |
4ab4: 5b e3 ldi r21, 0x3B ; 59 |
4ab6: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
4aba: 3b 01 movw r6, r22 |
4abc: 4c 01 movw r8, r24 |
4abe: 60 93 2e 05 sts 0x052E, r22 |
4ac2: 70 93 2f 05 sts 0x052F, r23 |
4ac6: 80 93 30 05 sts 0x0530, r24 |
4aca: 90 93 31 05 sts 0x0531, r25 |
4ace: 10 91 88 01 lds r17, 0x0188 |
4ad2: 61 2f mov r22, r17 |
4ad4: 77 27 eor r23, r23 |
4ad6: 67 fd sbrc r22, 7 |
4ad8: 70 95 com r23 |
4ada: 87 2f mov r24, r23 |
4adc: 97 2f mov r25, r23 |
4ade: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
4ae2: 17 ff sbrs r17, 7 |
4ae4: 06 c0 rjmp .+12 ; 0x4af2 <MotorRegler+0x5be> |
4ae6: 20 e0 ldi r18, 0x00 ; 0 |
4ae8: 30 e0 ldi r19, 0x00 ; 0 |
4aea: 40 e8 ldi r20, 0x80 ; 128 |
4aec: 53 e4 ldi r21, 0x43 ; 67 |
4aee: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
4af2: 20 e0 ldi r18, 0x00 ; 0 |
4af4: 30 ee ldi r19, 0xE0 ; 224 |
4af6: 4b e2 ldi r20, 0x2B ; 43 |
4af8: 57 e4 ldi r21, 0x47 ; 71 |
4afa: 0e 94 13 2d call 0x5a26 ; 0x5a26 <__divsf3> |
4afe: 60 93 1d 05 sts 0x051D, r22 |
4b02: 70 93 1e 05 sts 0x051E, r23 |
4b06: 80 93 1f 05 sts 0x051F, r24 |
4b0a: 90 93 20 05 sts 0x0520, r25 |
4b0e: 80 91 e4 04 lds r24, 0x04E4 |
4b12: 82 ff sbrs r24, 2 |
4b14: 0c c0 rjmp .+24 ; 0x4b2e <MotorRegler+0x5fa> |
4b16: 80 e0 ldi r24, 0x00 ; 0 |
4b18: 90 e0 ldi r25, 0x00 ; 0 |
4b1a: a0 e0 ldi r26, 0x00 ; 0 |
4b1c: b0 e0 ldi r27, 0x00 ; 0 |
4b1e: 80 93 1d 05 sts 0x051D, r24 |
4b22: 90 93 1e 05 sts 0x051E, r25 |
4b26: a0 93 1f 05 sts 0x051F, r26 |
4b2a: b0 93 20 05 sts 0x0520, r27 |
4b2e: 20 e0 ldi r18, 0x00 ; 0 |
4b30: 30 e0 ldi r19, 0x00 ; 0 |
4b32: 40 e0 ldi r20, 0x00 ; 0 |
4b34: 50 e0 ldi r21, 0x00 ; 0 |
4b36: c4 01 movw r24, r8 |
4b38: b3 01 movw r22, r6 |
4b3a: 0e 94 80 2d call 0x5b00 ; 0x5b00 <__eqsf2> |
4b3e: 88 23 and r24, r24 |
4b40: 64 f4 brge .+24 ; 0x4b5a <MotorRegler+0x626> |
4b42: 80 e0 ldi r24, 0x00 ; 0 |
4b44: 90 e0 ldi r25, 0x00 ; 0 |
4b46: a0 e0 ldi r26, 0x00 ; 0 |
4b48: b0 e0 ldi r27, 0x00 ; 0 |
4b4a: 80 93 2e 05 sts 0x052E, r24 |
4b4e: 90 93 2f 05 sts 0x052F, r25 |
4b52: a0 93 30 05 sts 0x0530, r26 |
4b56: b0 93 31 05 sts 0x0531, r27 |
4b5a: 20 e0 ldi r18, 0x00 ; 0 |
4b5c: 30 e0 ldi r19, 0x00 ; 0 |
4b5e: 40 e0 ldi r20, 0x00 ; 0 |
4b60: 50 e0 ldi r21, 0x00 ; 0 |
4b62: 60 91 1d 05 lds r22, 0x051D |
4b66: 70 91 1e 05 lds r23, 0x051E |
4b6a: 80 91 1f 05 lds r24, 0x051F |
4b6e: 90 91 20 05 lds r25, 0x0520 |
4b72: 0e 94 80 2d call 0x5b00 ; 0x5b00 <__eqsf2> |
4b76: 88 23 and r24, r24 |
4b78: 64 f4 brge .+24 ; 0x4b92 <MotorRegler+0x65e> |
4b7a: 80 e0 ldi r24, 0x00 ; 0 |
4b7c: 90 e0 ldi r25, 0x00 ; 0 |
4b7e: a0 e0 ldi r26, 0x00 ; 0 |
4b80: b0 e0 ldi r27, 0x00 ; 0 |
4b82: 80 93 1d 05 sts 0x051D, r24 |
4b86: 90 93 1e 05 sts 0x051E, r25 |
4b8a: a0 93 1f 05 sts 0x051F, r26 |
4b8e: b0 93 20 05 sts 0x0520, r27 |
4b92: 80 91 10 02 lds r24, 0x0210 |
4b96: 88 23 and r24, r24 |
4b98: 21 f1 breq .+72 ; 0x4be2 <MotorRegler+0x6ae> |
4b9a: 10 92 20 02 sts 0x0220, r1 |
4b9e: 10 92 1f 02 sts 0x021F, r1 |
4ba2: 10 92 1c 02 sts 0x021C, r1 |
4ba6: 10 92 1b 02 sts 0x021B, r1 |
4baa: 10 92 1e 02 sts 0x021E, r1 |
4bae: 10 92 1d 02 sts 0x021D, r1 |
4bb2: 8d ec ldi r24, 0xCD ; 205 |
4bb4: 9c ec ldi r25, 0xCC ; 204 |
4bb6: ac ec ldi r26, 0xCC ; 204 |
4bb8: bd e3 ldi r27, 0x3D ; 61 |
4bba: 80 93 2e 05 sts 0x052E, r24 |
4bbe: 90 93 2f 05 sts 0x052F, r25 |
4bc2: a0 93 30 05 sts 0x0530, r26 |
4bc6: b0 93 31 05 sts 0x0531, r27 |
4bca: 8a e0 ldi r24, 0x0A ; 10 |
4bcc: 97 ed ldi r25, 0xD7 ; 215 |
4bce: a3 ea ldi r26, 0xA3 ; 163 |
4bd0: bb e3 ldi r27, 0x3B ; 59 |
4bd2: 80 93 1d 05 sts 0x051D, r24 |
4bd6: 90 93 1e 05 sts 0x051E, r25 |
4bda: a0 93 1f 05 sts 0x051F, r26 |
4bde: b0 93 20 05 sts 0x0520, r27 |
4be2: 80 91 c1 01 lds r24, 0x01C1 |
4be6: 90 91 c2 01 lds r25, 0x01C2 |
4bea: 8d 54 subi r24, 0x4D ; 77 |
4bec: 91 40 sbci r25, 0x01 ; 1 |
4bee: 08 f4 brcc .+2 ; 0x4bf2 <MotorRegler+0x6be> |
4bf0: 90 c0 rjmp .+288 ; 0x4d12 <MotorRegler+0x7de> |
4bf2: 20 91 de 01 lds r18, 0x01DE |
4bf6: 30 91 df 01 lds r19, 0x01DF |
4bfa: 40 91 e0 01 lds r20, 0x01E0 |
4bfe: 50 91 e1 01 lds r21, 0x01E1 |
4c02: 80 91 da 01 lds r24, 0x01DA |
4c06: 90 91 db 01 lds r25, 0x01DB |
4c0a: a0 91 dc 01 lds r26, 0x01DC |
4c0e: b0 91 dd 01 lds r27, 0x01DD |
4c12: b9 01 movw r22, r18 |
4c14: 68 1b sub r22, r24 |
4c16: 79 0b sbc r23, r25 |
4c18: 70 93 38 02 sts 0x0238, r23 |
4c1c: 60 93 37 02 sts 0x0237, r22 |
4c20: 20 91 e6 01 lds r18, 0x01E6 |
4c24: 30 91 e7 01 lds r19, 0x01E7 |
4c28: 40 91 e8 01 lds r20, 0x01E8 |
4c2c: 50 91 e9 01 lds r21, 0x01E9 |
4c30: 80 91 e2 01 lds r24, 0x01E2 |
4c34: 90 91 e3 01 lds r25, 0x01E3 |
4c38: a0 91 e4 01 lds r26, 0x01E4 |
4c3c: b0 91 e5 01 lds r27, 0x01E5 |
4c40: 28 1b sub r18, r24 |
4c42: 39 0b sbc r19, r25 |
4c44: 30 93 36 02 sts 0x0236, r19 |
4c48: 20 93 35 02 sts 0x0235, r18 |
4c4c: 10 92 c2 01 sts 0x01C2, r1 |
4c50: 10 92 c1 01 sts 0x01C1, r1 |
4c54: 67 3a cpi r22, 0xA7 ; 167 |
4c56: 71 05 cpc r23, r1 |
4c58: 34 f0 brlt .+12 ; 0x4c66 <MotorRegler+0x732> |
4c5a: 80 91 d2 01 lds r24, 0x01D2 |
4c5e: 90 91 d3 01 lds r25, 0x01D3 |
4c62: 01 96 adiw r24, 0x01 ; 1 |
4c64: 08 c0 rjmp .+16 ; 0x4c76 <MotorRegler+0x742> |
4c66: 6a 55 subi r22, 0x5A ; 90 |
4c68: 7f 4f sbci r23, 0xFF ; 255 |
4c6a: 4c f4 brge .+18 ; 0x4c7e <MotorRegler+0x74a> |
4c6c: 80 91 d2 01 lds r24, 0x01D2 |
4c70: 90 91 d3 01 lds r25, 0x01D3 |
4c74: 01 97 sbiw r24, 0x01 ; 1 |
4c76: 90 93 d3 01 sts 0x01D3, r25 |
4c7a: 80 93 d2 01 sts 0x01D2, r24 |
4c7e: 27 3a cpi r18, 0xA7 ; 167 |
4c80: 31 05 cpc r19, r1 |
4c82: 34 f0 brlt .+12 ; 0x4c90 <MotorRegler+0x75c> |
4c84: 80 91 d4 01 lds r24, 0x01D4 |
4c88: 90 91 d5 01 lds r25, 0x01D5 |
4c8c: 01 96 adiw r24, 0x01 ; 1 |
4c8e: 08 c0 rjmp .+16 ; 0x4ca0 <MotorRegler+0x76c> |
4c90: 2a 55 subi r18, 0x5A ; 90 |
4c92: 3f 4f sbci r19, 0xFF ; 255 |
4c94: 4c f4 brge .+18 ; 0x4ca8 <MotorRegler+0x774> |
4c96: 80 91 d4 01 lds r24, 0x01D4 |
4c9a: 90 91 d5 01 lds r25, 0x01D5 |
4c9e: 01 97 sbiw r24, 0x01 ; 1 |
4ca0: 90 93 d5 01 sts 0x01D5, r25 |
4ca4: 80 93 d4 01 sts 0x01D4, r24 |
4ca8: 10 92 7a 00 sts 0x007A, r1 |
4cac: 80 91 da 01 lds r24, 0x01DA |
4cb0: 90 91 db 01 lds r25, 0x01DB |
4cb4: a0 91 dc 01 lds r26, 0x01DC |
4cb8: b0 91 dd 01 lds r27, 0x01DD |
4cbc: 80 93 f2 01 sts 0x01F2, r24 |
4cc0: 90 93 f3 01 sts 0x01F3, r25 |
4cc4: a0 93 f4 01 sts 0x01F4, r26 |
4cc8: b0 93 f5 01 sts 0x01F5, r27 |
4ccc: 80 91 e2 01 lds r24, 0x01E2 |
4cd0: 90 91 e3 01 lds r25, 0x01E3 |
4cd4: a0 91 e4 01 lds r26, 0x01E4 |
4cd8: b0 91 e5 01 lds r27, 0x01E5 |
4cdc: 80 93 fa 01 sts 0x01FA, r24 |
4ce0: 90 93 fb 01 sts 0x01FB, r25 |
4ce4: a0 93 fc 01 sts 0x01FC, r26 |
4ce8: b0 93 fd 01 sts 0x01FD, r27 |
4cec: 80 91 ea 01 lds r24, 0x01EA |
4cf0: 90 91 eb 01 lds r25, 0x01EB |
4cf4: a0 91 ec 01 lds r26, 0x01EC |
4cf8: b0 91 ed 01 lds r27, 0x01ED |
4cfc: 80 93 02 02 sts 0x0202, r24 |
4d00: 90 93 03 02 sts 0x0203, r25 |
4d04: a0 93 04 02 sts 0x0204, r26 |
4d08: b0 93 05 02 sts 0x0205, r27 |
4d0c: 8f ee ldi r24, 0xEF ; 239 |
4d0e: 80 93 7a 00 sts 0x007A, r24 |
4d12: 60 91 da 01 lds r22, 0x01DA |
4d16: 70 91 db 01 lds r23, 0x01DB |
4d1a: 80 91 dc 01 lds r24, 0x01DC |
4d1e: 90 91 dd 01 lds r25, 0x01DD |
4d22: a0 90 f0 04 lds r10, 0x04F0 |
4d26: bb 24 eor r11, r11 |
4d28: cc 24 eor r12, r12 |
4d2a: dd 24 eor r13, r13 |
4d2c: e0 90 29 05 lds r14, 0x0529 |
4d30: f0 90 2a 05 lds r15, 0x052A |
4d34: a6 01 movw r20, r12 |
4d36: 95 01 movw r18, r10 |
4d38: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
4d3c: 00 27 eor r16, r16 |
4d3e: f7 fc sbrc r15, 7 |
4d40: 00 95 com r16 |
4d42: 10 2f mov r17, r16 |
4d44: 2e 19 sub r18, r14 |
4d46: 3f 09 sbc r19, r15 |
4d48: 40 0b sbc r20, r16 |
4d4a: 51 0b sbc r21, r17 |
4d4c: ca 01 movw r24, r20 |
4d4e: b9 01 movw r22, r18 |
4d50: 20 e1 ldi r18, 0x10 ; 16 |
4d52: 30 e0 ldi r19, 0x00 ; 0 |
4d54: 40 e0 ldi r20, 0x00 ; 0 |
4d56: 50 e0 ldi r21, 0x00 ; 0 |
4d58: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
4d5c: 39 01 movw r6, r18 |
4d5e: 4a 01 movw r8, r20 |
4d60: 20 93 3d 02 sts 0x023D, r18 |
4d64: 30 93 3e 02 sts 0x023E, r19 |
4d68: 40 93 3f 02 sts 0x023F, r20 |
4d6c: 50 93 40 02 sts 0x0240, r21 |
4d70: 60 91 e2 01 lds r22, 0x01E2 |
4d74: 70 91 e3 01 lds r23, 0x01E3 |
4d78: 80 91 e4 01 lds r24, 0x01E4 |
4d7c: 90 91 e5 01 lds r25, 0x01E5 |
4d80: e0 90 32 05 lds r14, 0x0532 |
4d84: f0 90 33 05 lds r15, 0x0533 |
4d88: a6 01 movw r20, r12 |
4d8a: 95 01 movw r18, r10 |
4d8c: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
4d90: 00 27 eor r16, r16 |
4d92: f7 fc sbrc r15, 7 |
4d94: 00 95 com r16 |
4d96: 10 2f mov r17, r16 |
4d98: 2e 19 sub r18, r14 |
4d9a: 3f 09 sbc r19, r15 |
4d9c: 40 0b sbc r20, r16 |
4d9e: 51 0b sbc r21, r17 |
4da0: ca 01 movw r24, r20 |
4da2: b9 01 movw r22, r18 |
4da4: 20 e1 ldi r18, 0x10 ; 16 |
4da6: 30 e0 ldi r19, 0x00 ; 0 |
4da8: 40 e0 ldi r20, 0x00 ; 0 |
4daa: 50 e0 ldi r21, 0x00 ; 0 |
4dac: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
4db0: 20 93 39 02 sts 0x0239, r18 |
4db4: 30 93 3a 02 sts 0x023A, r19 |
4db8: 40 93 3b 02 sts 0x023B, r20 |
4dbc: 50 93 3c 02 sts 0x023C, r21 |
4dc0: e5 ef ldi r30, 0xF5 ; 245 |
4dc2: 6e 16 cp r6, r30 |
4dc4: e1 e0 ldi r30, 0x01 ; 1 |
4dc6: 7e 06 cpc r7, r30 |
4dc8: e0 e0 ldi r30, 0x00 ; 0 |
4dca: 8e 06 cpc r8, r30 |
4dcc: e0 e0 ldi r30, 0x00 ; 0 |
4dce: 9e 06 cpc r9, r30 |
4dd0: 2c f0 brlt .+10 ; 0x4ddc <MotorRegler+0x8a8> |
4dd2: 84 ef ldi r24, 0xF4 ; 244 |
4dd4: 91 e0 ldi r25, 0x01 ; 1 |
4dd6: a0 e0 ldi r26, 0x00 ; 0 |
4dd8: b0 e0 ldi r27, 0x00 ; 0 |
4dda: 0d c0 rjmp .+26 ; 0x4df6 <MotorRegler+0x8c2> |
4ddc: fc e0 ldi r31, 0x0C ; 12 |
4dde: 6f 16 cp r6, r31 |
4de0: fe ef ldi r31, 0xFE ; 254 |
4de2: 7f 06 cpc r7, r31 |
4de4: ff ef ldi r31, 0xFF ; 255 |
4de6: 8f 06 cpc r8, r31 |
4de8: ff ef ldi r31, 0xFF ; 255 |
4dea: 9f 06 cpc r9, r31 |
4dec: 64 f4 brge .+24 ; 0x4e06 <MotorRegler+0x8d2> |
4dee: 8c e0 ldi r24, 0x0C ; 12 |
4df0: 9e ef ldi r25, 0xFE ; 254 |
4df2: af ef ldi r26, 0xFF ; 255 |
4df4: bf ef ldi r27, 0xFF ; 255 |
4df6: 80 93 3d 02 sts 0x023D, r24 |
4dfa: 90 93 3e 02 sts 0x023E, r25 |
4dfe: a0 93 3f 02 sts 0x023F, r26 |
4e02: b0 93 40 02 sts 0x0240, r27 |
4e06: 25 3f cpi r18, 0xF5 ; 245 |
4e08: 61 e0 ldi r22, 0x01 ; 1 |
4e0a: 36 07 cpc r19, r22 |
4e0c: 60 e0 ldi r22, 0x00 ; 0 |
4e0e: 46 07 cpc r20, r22 |
4e10: 60 e0 ldi r22, 0x00 ; 0 |
4e12: 56 07 cpc r21, r22 |
4e14: 2c f0 brlt .+10 ; 0x4e20 <MotorRegler+0x8ec> |
4e16: 84 ef ldi r24, 0xF4 ; 244 |
4e18: 91 e0 ldi r25, 0x01 ; 1 |
4e1a: a0 e0 ldi r26, 0x00 ; 0 |
4e1c: b0 e0 ldi r27, 0x00 ; 0 |
4e1e: 09 c0 rjmp .+18 ; 0x4e32 <MotorRegler+0x8fe> |
4e20: 2c 50 subi r18, 0x0C ; 12 |
4e22: 3e 4f sbci r19, 0xFE ; 254 |
4e24: 4f 4f sbci r20, 0xFF ; 255 |
4e26: 5f 4f sbci r21, 0xFF ; 255 |
4e28: 64 f4 brge .+24 ; 0x4e42 <MotorRegler+0x90e> |
4e2a: 8c e0 ldi r24, 0x0C ; 12 |
4e2c: 9e ef ldi r25, 0xFE ; 254 |
4e2e: af ef ldi r26, 0xFF ; 255 |
4e30: bf ef ldi r27, 0xFF ; 255 |
4e32: 80 93 39 02 sts 0x0239, r24 |
4e36: 90 93 3a 02 sts 0x023A, r25 |
4e3a: a0 93 3b 02 sts 0x023B, r26 |
4e3e: b0 93 3c 02 sts 0x023C, r27 |
4e42: 10 92 7a 00 sts 0x007A, r1 |
4e46: 80 91 ee 01 lds r24, 0x01EE |
4e4a: 90 91 ef 01 lds r25, 0x01EF |
4e4e: a0 91 f0 01 lds r26, 0x01F0 |
4e52: b0 91 f1 01 lds r27, 0x01F1 |
4e56: 20 91 3d 02 lds r18, 0x023D |
4e5a: 30 91 3e 02 lds r19, 0x023E |
4e5e: 40 91 3f 02 lds r20, 0x023F |
4e62: 50 91 40 02 lds r21, 0x0240 |
4e66: 82 1b sub r24, r18 |
4e68: 93 0b sbc r25, r19 |
4e6a: a4 0b sbc r26, r20 |
4e6c: b5 0b sbc r27, r21 |
4e6e: 80 93 ee 01 sts 0x01EE, r24 |
4e72: 90 93 ef 01 sts 0x01EF, r25 |
4e76: a0 93 f0 01 sts 0x01F0, r26 |
4e7a: b0 93 f1 01 sts 0x01F1, r27 |
4e7e: 80 91 f6 01 lds r24, 0x01F6 |
4e82: 90 91 f7 01 lds r25, 0x01F7 |
4e86: a0 91 f8 01 lds r26, 0x01F8 |
4e8a: b0 91 f9 01 lds r27, 0x01F9 |
4e8e: 20 91 39 02 lds r18, 0x0239 |
4e92: 30 91 3a 02 lds r19, 0x023A |
4e96: 40 91 3b 02 lds r20, 0x023B |
4e9a: 50 91 3c 02 lds r21, 0x023C |
4e9e: 82 1b sub r24, r18 |
4ea0: 93 0b sbc r25, r19 |
4ea2: a4 0b sbc r26, r20 |
4ea4: b5 0b sbc r27, r21 |
4ea6: 80 93 f6 01 sts 0x01F6, r24 |
4eaa: 90 93 f7 01 sts 0x01F7, r25 |
4eae: a0 93 f8 01 sts 0x01F8, r26 |
4eb2: b0 93 f9 01 sts 0x01F9, r27 |
4eb6: 80 91 1f 02 lds r24, 0x021F |
4eba: 90 91 20 02 lds r25, 0x0220 |
4ebe: 9c 01 movw r18, r24 |
4ec0: 44 27 eor r20, r20 |
4ec2: 37 fd sbrc r19, 7 |
4ec4: 40 95 com r20 |
4ec6: 54 2f mov r21, r20 |
4ec8: 2b 83 std Y+3, r18 ; 0x03 |
4eca: 3c 83 std Y+4, r19 ; 0x04 |
4ecc: 4d 83 std Y+5, r20 ; 0x05 |
4ece: 5e 83 std Y+6, r21 ; 0x06 |
4ed0: 20 93 41 02 sts 0x0241, r18 |
4ed4: 30 93 42 02 sts 0x0242, r19 |
4ed8: 40 93 43 02 sts 0x0243, r20 |
4edc: 50 93 44 02 sts 0x0244, r21 |
4ee0: 97 ff sbrs r25, 7 |
4ee2: 03 c0 rjmp .+6 ; 0x4eea <MotorRegler+0x9b6> |
4ee4: 90 95 com r25 |
4ee6: 81 95 neg r24 |
4ee8: 9f 4f sbci r25, 0xFF ; 255 |
4eea: 84 97 sbiw r24, 0x24 ; 36 |
4eec: 3c f0 brlt .+14 ; 0x4efc <MotorRegler+0x9c8> |
4eee: 80 91 e4 04 lds r24, 0x04E4 |
4ef2: 84 fd sbrc r24, 4 |
4ef4: 03 c0 rjmp .+6 ; 0x4efc <MotorRegler+0x9c8> |
4ef6: 81 e0 ldi r24, 0x01 ; 1 |
4ef8: 80 93 2a 02 sts 0x022A, r24 |
4efc: 60 90 fe 01 lds r6, 0x01FE |
4f00: 70 90 ff 01 lds r7, 0x01FF |
4f04: 80 90 00 02 lds r8, 0x0200 |
4f08: 90 90 01 02 lds r9, 0x0201 |
4f0c: 8b 81 ldd r24, Y+3 ; 0x03 |
4f0e: 9c 81 ldd r25, Y+4 ; 0x04 |
4f10: 97 ff sbrs r25, 7 |
4f12: 03 c0 rjmp .+6 ; 0x4f1a <MotorRegler+0x9e6> |
4f14: 90 95 com r25 |
4f16: 81 95 neg r24 |
4f18: 9f 4f sbci r25, 0xFF ; 255 |
4f1a: 7c 01 movw r14, r24 |
4f1c: 00 27 eor r16, r16 |
4f1e: f7 fc sbrc r15, 7 |
4f20: 00 95 com r16 |
4f22: 10 2f mov r17, r16 |
4f24: 20 91 ed 04 lds r18, 0x04ED |
4f28: 33 27 eor r19, r19 |
4f2a: 44 27 eor r20, r20 |
4f2c: 55 27 eor r21, r21 |
4f2e: 6b 81 ldd r22, Y+3 ; 0x03 |
4f30: 7c 81 ldd r23, Y+4 ; 0x04 |
4f32: 8d 81 ldd r24, Y+5 ; 0x05 |
4f34: 9e 81 ldd r25, Y+6 ; 0x06 |
4f36: 0e 94 38 2e call 0x5c70 ; 0x5c70 <__mulsi3> |
4f3a: 9b 01 movw r18, r22 |
4f3c: ac 01 movw r20, r24 |
4f3e: c8 01 movw r24, r16 |
4f40: b7 01 movw r22, r14 |
4f42: 0e 94 38 2e call 0x5c70 ; 0x5c70 <__mulsi3> |
4f46: 20 e0 ldi r18, 0x00 ; 0 |
4f48: 31 e0 ldi r19, 0x01 ; 1 |
4f4a: 40 e0 ldi r20, 0x00 ; 0 |
4f4c: 50 e0 ldi r21, 0x00 ; 0 |
4f4e: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
4f52: 44 27 eor r20, r20 |
4f54: 37 fd sbrc r19, 7 |
4f56: 40 95 com r20 |
4f58: 54 2f mov r21, r20 |
4f5a: 62 1a sub r6, r18 |
4f5c: 73 0a sbc r7, r19 |
4f5e: 84 0a sbc r8, r20 |
4f60: 95 0a sbc r9, r21 |
4f62: 60 92 fe 01 sts 0x01FE, r6 |
4f66: 70 92 ff 01 sts 0x01FF, r7 |
4f6a: 80 92 00 02 sts 0x0200, r8 |
4f6e: 90 92 01 02 sts 0x0201, r9 |
4f72: 80 91 fe 01 lds r24, 0x01FE |
4f76: 90 91 ff 01 lds r25, 0x01FF |
4f7a: a0 91 00 02 lds r26, 0x0200 |
4f7e: b0 91 01 02 lds r27, 0x0201 |
4f82: 81 53 subi r24, 0x31 ; 49 |
4f84: 95 47 sbci r25, 0x75 ; 117 |
4f86: a0 40 sbci r26, 0x00 ; 0 |
4f88: b0 40 sbci r27, 0x00 ; 0 |
4f8a: 64 f0 brlt .+24 ; 0x4fa4 <MotorRegler+0xa70> |
4f8c: 80 e3 ldi r24, 0x30 ; 48 |
4f8e: 95 e7 ldi r25, 0x75 ; 117 |
4f90: a0 e0 ldi r26, 0x00 ; 0 |
4f92: b0 e0 ldi r27, 0x00 ; 0 |
4f94: 80 93 fe 01 sts 0x01FE, r24 |
4f98: 90 93 ff 01 sts 0x01FF, r25 |
4f9c: a0 93 00 02 sts 0x0200, r26 |
4fa0: b0 93 01 02 sts 0x0201, r27 |
4fa4: 80 91 fe 01 lds r24, 0x01FE |
4fa8: 90 91 ff 01 lds r25, 0x01FF |
4fac: a0 91 00 02 lds r26, 0x0200 |
4fb0: b0 91 01 02 lds r27, 0x0201 |
4fb4: 80 5d subi r24, 0xD0 ; 208 |
4fb6: 9a 48 sbci r25, 0x8A ; 138 |
4fb8: af 4f sbci r26, 0xFF ; 255 |
4fba: bf 4f sbci r27, 0xFF ; 255 |
4fbc: 64 f4 brge .+24 ; 0x4fd6 <MotorRegler+0xaa2> |
4fbe: 80 ed ldi r24, 0xD0 ; 208 |
4fc0: 9a e8 ldi r25, 0x8A ; 138 |
4fc2: af ef ldi r26, 0xFF ; 255 |
4fc4: bf ef ldi r27, 0xFF ; 255 |
4fc6: 80 93 fe 01 sts 0x01FE, r24 |
4fca: 90 93 ff 01 sts 0x01FF, r25 |
4fce: a0 93 00 02 sts 0x0200, r26 |
4fd2: b0 93 01 02 sts 0x0201, r27 |
4fd6: ef ee ldi r30, 0xEF ; 239 |
4fd8: e0 93 7a 00 sts 0x007A, r30 |
4fdc: 80 91 0a 02 lds r24, 0x020A |
4fe0: 90 91 0b 02 lds r25, 0x020B |
4fe4: 89 2b or r24, r25 |
4fe6: 09 f4 brne .+2 ; 0x4fea <MotorRegler+0xab6> |
4fe8: 41 c0 rjmp .+130 ; 0x506c <MotorRegler+0xb38> |
4fea: 80 91 e4 04 lds r24, 0x04E4 |
4fee: 83 ff sbrs r24, 3 |
4ff0: 3d c0 rjmp .+122 ; 0x506c <MotorRegler+0xb38> |
4ff2: 80 91 2a 02 lds r24, 0x022A |
4ff6: 88 23 and r24, r24 |
4ff8: 51 f0 breq .+20 ; 0x500e <MotorRegler+0xada> |
4ffa: 80 91 0a 02 lds r24, 0x020A |
4ffe: 90 91 0b 02 lds r25, 0x020B |
5002: 90 93 0d 02 sts 0x020D, r25 |
5006: 80 93 0c 02 sts 0x020C, r24 |
500a: 10 92 2a 02 sts 0x022A, r1 |
500e: 10 92 7a 00 sts 0x007A, r1 |
5012: 00 91 fe 01 lds r16, 0x01FE |
5016: 10 91 ff 01 lds r17, 0x01FF |
501a: 20 91 00 02 lds r18, 0x0200 |
501e: 30 91 01 02 lds r19, 0x0201 |
5022: 40 91 0e 02 lds r20, 0x020E |
5026: 50 91 0f 02 lds r21, 0x020F |
502a: 80 91 86 01 lds r24, 0x0186 |
502e: 99 27 eor r25, r25 |
5030: bc 01 movw r22, r24 |
5032: 46 9f mul r20, r22 |
5034: c0 01 movw r24, r0 |
5036: 47 9f mul r20, r23 |
5038: 90 0d add r25, r0 |
503a: 56 9f mul r21, r22 |
503c: 90 0d add r25, r0 |
503e: 11 24 eor r1, r1 |
5040: 60 e2 ldi r22, 0x20 ; 32 |
5042: 70 e0 ldi r23, 0x00 ; 0 |
5044: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
5048: 88 27 eor r24, r24 |
504a: 77 fd sbrc r23, 7 |
504c: 80 95 com r24 |
504e: 98 2f mov r25, r24 |
5050: 06 1b sub r16, r22 |
5052: 17 0b sbc r17, r23 |
5054: 28 0b sbc r18, r24 |
5056: 39 0b sbc r19, r25 |
5058: 00 93 fe 01 sts 0x01FE, r16 |
505c: 10 93 ff 01 sts 0x01FF, r17 |
5060: 20 93 00 02 sts 0x0200, r18 |
5064: 30 93 01 02 sts 0x0201, r19 |
5068: e0 93 7a 00 sts 0x007A, r30 |
506c: 80 91 5d 04 lds r24, 0x045D |
5070: 8f 5f subi r24, 0xFF ; 255 |
5072: 80 93 5d 04 sts 0x045D, r24 |
5076: 80 91 2b 02 lds r24, 0x022B |
507a: 81 50 subi r24, 0x01 ; 1 |
507c: 80 93 2b 02 sts 0x022B, r24 |
5080: 8f 3f cpi r24, 0xFF ; 255 |
5082: 09 f0 breq .+2 ; 0x5086 <MotorRegler+0xb52> |
5084: 6b c0 rjmp .+214 ; 0x515c <MotorRegler+0xc28> |
5086: 81 e3 ldi r24, 0x31 ; 49 |
5088: 80 93 2b 02 sts 0x022B, r24 |
508c: 80 91 a4 04 lds r24, 0x04A4 |
5090: 90 91 a5 04 lds r25, 0x04A5 |
5094: 90 93 5f 04 sts 0x045F, r25 |
5098: 80 93 5e 04 sts 0x045E, r24 |
509c: 80 91 a6 04 lds r24, 0x04A6 |
50a0: 90 91 a7 04 lds r25, 0x04A7 |
50a4: 90 93 61 04 sts 0x0461, r25 |
50a8: 80 93 60 04 sts 0x0460, r24 |
50ac: 80 91 29 05 lds r24, 0x0529 |
50b0: 90 91 2a 05 lds r25, 0x052A |
50b4: 90 93 63 04 sts 0x0463, r25 |
50b8: 80 93 62 04 sts 0x0462, r24 |
50bc: 80 91 32 05 lds r24, 0x0532 |
50c0: 90 91 33 05 lds r25, 0x0533 |
50c4: 90 93 65 04 sts 0x0465, r25 |
50c8: 80 93 64 04 sts 0x0464, r24 |
50cc: 80 91 2c 05 lds r24, 0x052C |
50d0: 90 91 2d 05 lds r25, 0x052D |
50d4: 90 93 67 04 sts 0x0467, r25 |
50d8: 80 93 66 04 sts 0x0466, r24 |
50dc: 80 91 22 02 lds r24, 0x0222 |
50e0: 90 91 23 02 lds r25, 0x0223 |
50e4: 90 93 69 04 sts 0x0469, r25 |
50e8: 80 93 68 04 sts 0x0468, r24 |
50ec: 60 91 06 02 lds r22, 0x0206 |
50f0: 70 91 07 02 lds r23, 0x0207 |
50f4: 80 91 08 02 lds r24, 0x0208 |
50f8: 90 91 09 02 lds r25, 0x0209 |
50fc: 20 e0 ldi r18, 0x00 ; 0 |
50fe: 32 e0 ldi r19, 0x02 ; 2 |
5100: 40 e0 ldi r20, 0x00 ; 0 |
5102: 50 e0 ldi r21, 0x00 ; 0 |
5104: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
5108: 30 93 6b 04 sts 0x046B, r19 |
510c: 20 93 6a 04 sts 0x046A, r18 |
5110: 89 81 ldd r24, Y+1 ; 0x01 |
5112: 9a 81 ldd r25, Y+2 ; 0x02 |
5114: 90 93 6d 04 sts 0x046D, r25 |
5118: 80 93 6c 04 sts 0x046C, r24 |
511c: 80 91 0a 02 lds r24, 0x020A |
5120: 90 91 0b 02 lds r25, 0x020B |
5124: 90 93 6f 04 sts 0x046F, r25 |
5128: 80 93 6e 04 sts 0x046E, r24 |
512c: 80 91 98 04 lds r24, 0x0498 |
5130: 90 91 99 04 lds r25, 0x0499 |
5134: 90 93 71 04 sts 0x0471, r25 |
5138: 80 93 70 04 sts 0x0470, r24 |
513c: 80 91 9c 04 lds r24, 0x049C |
5140: 90 91 9d 04 lds r25, 0x049D |
5144: 90 93 73 04 sts 0x0473, r25 |
5148: 80 93 72 04 sts 0x0472, r24 |
514c: 80 91 a0 04 lds r24, 0x04A0 |
5150: 90 91 a1 04 lds r25, 0x04A1 |
5154: 90 93 75 04 sts 0x0475, r25 |
5158: 80 93 74 04 sts 0x0474, r24 |
515c: 60 91 da 01 lds r22, 0x01DA |
5160: 70 91 db 01 lds r23, 0x01DB |
5164: 80 91 dc 01 lds r24, 0x01DC |
5168: 90 91 dd 01 lds r25, 0x01DD |
516c: 20 90 1d 05 lds r2, 0x051D |
5170: 30 90 1e 05 lds r3, 0x051E |
5174: 40 90 1f 05 lds r4, 0x051F |
5178: 50 90 20 05 lds r5, 0x0520 |
517c: e0 90 18 05 lds r14, 0x0518 |
5180: f0 90 19 05 lds r15, 0x0519 |
5184: 60 90 2e 05 lds r6, 0x052E |
5188: 70 90 2f 05 lds r7, 0x052F |
518c: 80 90 30 05 lds r8, 0x0530 |
5190: 90 90 31 05 lds r9, 0x0531 |
5194: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
5198: a2 01 movw r20, r4 |
519a: 91 01 movw r18, r2 |
519c: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
51a0: 5b 01 movw r10, r22 |
51a2: 6c 01 movw r12, r24 |
51a4: 00 27 eor r16, r16 |
51a6: f7 fc sbrc r15, 7 |
51a8: 00 95 com r16 |
51aa: 10 2f mov r17, r16 |
51ac: c8 01 movw r24, r16 |
51ae: b7 01 movw r22, r14 |
51b0: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
51b4: a4 01 movw r20, r8 |
51b6: 93 01 movw r18, r6 |
51b8: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
51bc: 9b 01 movw r18, r22 |
51be: ac 01 movw r20, r24 |
51c0: c6 01 movw r24, r12 |
51c2: b5 01 movw r22, r10 |
51c4: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
51c8: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
51cc: 70 93 19 05 sts 0x0519, r23 |
51d0: 60 93 18 05 sts 0x0518, r22 |
51d4: 60 91 e2 01 lds r22, 0x01E2 |
51d8: 70 91 e3 01 lds r23, 0x01E3 |
51dc: 80 91 e4 01 lds r24, 0x01E4 |
51e0: 90 91 e5 01 lds r25, 0x01E5 |
51e4: e0 90 16 05 lds r14, 0x0516 |
51e8: f0 90 17 05 lds r15, 0x0517 |
51ec: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
51f0: a2 01 movw r20, r4 |
51f2: 91 01 movw r18, r2 |
51f4: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
51f8: 5b 01 movw r10, r22 |
51fa: 6c 01 movw r12, r24 |
51fc: 00 27 eor r16, r16 |
51fe: f7 fc sbrc r15, 7 |
5200: 00 95 com r16 |
5202: 10 2f mov r17, r16 |
5204: c8 01 movw r24, r16 |
5206: b7 01 movw r22, r14 |
5208: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
520c: a4 01 movw r20, r8 |
520e: 93 01 movw r18, r6 |
5210: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
5214: 9b 01 movw r18, r22 |
5216: ac 01 movw r20, r24 |
5218: c6 01 movw r24, r12 |
521a: b5 01 movw r22, r10 |
521c: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
5220: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
5224: 70 93 17 05 sts 0x0517, r23 |
5228: 60 93 16 05 sts 0x0516, r22 |
522c: 60 91 2c 05 lds r22, 0x052C |
5230: 70 91 2d 05 lds r23, 0x052D |
5234: a0 90 ea 01 lds r10, 0x01EA |
5238: b0 90 eb 01 lds r11, 0x01EB |
523c: c0 90 ec 01 lds r12, 0x01EC |
5240: d0 90 ed 01 lds r13, 0x01ED |
5244: 88 27 eor r24, r24 |
5246: 77 fd sbrc r23, 7 |
5248: 80 95 com r24 |
524a: 98 2f mov r25, r24 |
524c: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
5250: 7b 01 movw r14, r22 |
5252: 8c 01 movw r16, r24 |
5254: 20 e0 ldi r18, 0x00 ; 0 |
5256: 30 e0 ldi r19, 0x00 ; 0 |
5258: 40 e0 ldi r20, 0x00 ; 0 |
525a: 5f e3 ldi r21, 0x3F ; 63 |
525c: c4 01 movw r24, r8 |
525e: b3 01 movw r22, r6 |
5260: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
5264: 9b 01 movw r18, r22 |
5266: ac 01 movw r20, r24 |
5268: c8 01 movw r24, r16 |
526a: b7 01 movw r22, r14 |
526c: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
5270: 7b 01 movw r14, r22 |
5272: 8c 01 movw r16, r24 |
5274: c6 01 movw r24, r12 |
5276: b5 01 movw r22, r10 |
5278: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
527c: a2 01 movw r20, r4 |
527e: 91 01 movw r18, r2 |
5280: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
5284: 9b 01 movw r18, r22 |
5286: ac 01 movw r20, r24 |
5288: c8 01 movw r24, r16 |
528a: b7 01 movw r22, r14 |
528c: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
5290: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
5294: 70 93 2d 05 sts 0x052D, r23 |
5298: 60 93 2c 05 sts 0x052C, r22 |
529c: 80 91 18 05 lds r24, 0x0518 |
52a0: 90 91 19 05 lds r25, 0x0519 |
52a4: 81 50 subi r24, 0x01 ; 1 |
52a6: 98 40 sbci r25, 0x08 ; 8 |
52a8: 34 f0 brlt .+12 ; 0x52b6 <MotorRegler+0xd82> |
52aa: 80 e0 ldi r24, 0x00 ; 0 |
52ac: 98 e0 ldi r25, 0x08 ; 8 |
52ae: 90 93 19 05 sts 0x0519, r25 |
52b2: 80 93 18 05 sts 0x0518, r24 |
52b6: 80 91 18 05 lds r24, 0x0518 |
52ba: 90 91 19 05 lds r25, 0x0519 |
52be: 80 50 subi r24, 0x00 ; 0 |
52c0: 98 4f sbci r25, 0xF8 ; 248 |
52c2: 34 f4 brge .+12 ; 0x52d0 <MotorRegler+0xd9c> |
52c4: 80 e0 ldi r24, 0x00 ; 0 |
52c6: 98 ef ldi r25, 0xF8 ; 248 |
52c8: 90 93 19 05 sts 0x0519, r25 |
52cc: 80 93 18 05 sts 0x0518, r24 |
52d0: 80 91 16 05 lds r24, 0x0516 |
52d4: 90 91 17 05 lds r25, 0x0517 |
52d8: 81 50 subi r24, 0x01 ; 1 |
52da: 98 40 sbci r25, 0x08 ; 8 |
52dc: 34 f0 brlt .+12 ; 0x52ea <MotorRegler+0xdb6> |
52de: 80 e0 ldi r24, 0x00 ; 0 |
52e0: 98 e0 ldi r25, 0x08 ; 8 |
52e2: 90 93 17 05 sts 0x0517, r25 |
52e6: 80 93 16 05 sts 0x0516, r24 |
52ea: 80 91 16 05 lds r24, 0x0516 |
52ee: 90 91 17 05 lds r25, 0x0517 |
52f2: 80 50 subi r24, 0x00 ; 0 |
52f4: 98 4f sbci r25, 0xF8 ; 248 |
52f6: 34 f4 brge .+12 ; 0x5304 <MotorRegler+0xdd0> |
52f8: 80 e0 ldi r24, 0x00 ; 0 |
52fa: 98 ef ldi r25, 0xF8 ; 248 |
52fc: 90 93 17 05 sts 0x0517, r25 |
5300: 80 93 16 05 sts 0x0516, r24 |
5304: 80 91 2c 05 lds r24, 0x052C |
5308: 90 91 2d 05 lds r25, 0x052D |
530c: 81 50 subi r24, 0x01 ; 1 |
530e: 98 40 sbci r25, 0x08 ; 8 |
5310: 34 f0 brlt .+12 ; 0x531e <MotorRegler+0xdea> |
5312: 80 e0 ldi r24, 0x00 ; 0 |
5314: 98 e0 ldi r25, 0x08 ; 8 |
5316: 90 93 2d 05 sts 0x052D, r25 |
531a: 80 93 2c 05 sts 0x052C, r24 |
531e: 80 91 2c 05 lds r24, 0x052C |
5322: 90 91 2d 05 lds r25, 0x052D |
5326: 80 50 subi r24, 0x00 ; 0 |
5328: 98 4f sbci r25, 0xF8 ; 248 |
532a: 34 f4 brge .+12 ; 0x5338 <MotorRegler+0xe04> |
532c: 80 e0 ldi r24, 0x00 ; 0 |
532e: 98 ef ldi r25, 0xF8 ; 248 |
5330: 90 93 2d 05 sts 0x052D, r25 |
5334: 80 93 2c 05 sts 0x052C, r24 |
5338: 80 91 e4 04 lds r24, 0x04E4 |
533c: 99 27 eor r25, r25 |
533e: 80 ff sbrs r24, 0 |
5340: cd c0 rjmp .+410 ; 0x54dc <MotorRegler+0xfa8> |
5342: 20 91 83 01 lds r18, 0x0183 |
5346: 81 ff sbrs r24, 1 |
5348: 0e c0 rjmp .+28 ; 0x5366 <MotorRegler+0xe32> |
534a: 22 33 cpi r18, 0x32 ; 50 |
534c: b0 f4 brcc .+44 ; 0x537a <MotorRegler+0xe46> |
534e: 80 91 22 02 lds r24, 0x0222 |
5352: 90 91 23 02 lds r25, 0x0223 |
5356: 44 97 sbiw r24, 0x14 ; 20 |
5358: 90 93 25 02 sts 0x0225, r25 |
535c: 80 93 24 02 sts 0x0224, r24 |
5360: 10 92 11 02 sts 0x0211, r1 |
5364: 0d c0 rjmp .+26 ; 0x5380 <MotorRegler+0xe4c> |
5366: 80 91 e9 04 lds r24, 0x04E9 |
536a: 28 9f mul r18, r24 |
536c: c0 01 movw r24, r0 |
536e: 11 24 eor r1, r1 |
5370: 44 97 sbiw r24, 0x14 ; 20 |
5372: 90 93 25 02 sts 0x0225, r25 |
5376: 80 93 24 02 sts 0x0224, r24 |
537a: 81 e0 ldi r24, 0x01 ; 1 |
537c: 80 93 11 02 sts 0x0211, r24 |
5380: 80 91 10 02 lds r24, 0x0210 |
5384: 88 23 and r24, r24 |
5386: 21 f0 breq .+8 ; 0x5390 <MotorRegler+0xe5c> |
5388: 10 92 25 02 sts 0x0225, r1 |
538c: 10 92 24 02 sts 0x0224, r1 |
5390: 20 91 22 02 lds r18, 0x0222 |
5394: 30 91 23 02 lds r19, 0x0223 |
5398: 40 91 24 02 lds r20, 0x0224 |
539c: 50 91 25 02 lds r21, 0x0225 |
53a0: 42 17 cp r20, r18 |
53a2: 53 07 cpc r21, r19 |
53a4: 0c f0 brlt .+2 ; 0x53a8 <MotorRegler+0xe74> |
53a6: 9a c0 rjmp .+308 ; 0x54dc <MotorRegler+0xfa8> |
53a8: 80 91 11 02 lds r24, 0x0211 |
53ac: 88 23 and r24, r24 |
53ae: 09 f4 brne .+2 ; 0x53b2 <MotorRegler+0xe7e> |
53b0: 95 c0 rjmp .+298 ; 0x54dc <MotorRegler+0xfa8> |
53b2: 24 1b sub r18, r20 |
53b4: 35 0b sbc r19, r21 |
53b6: 80 91 84 01 lds r24, 0x0184 |
53ba: 99 27 eor r25, r25 |
53bc: bc 01 movw r22, r24 |
53be: 26 9f mul r18, r22 |
53c0: c0 01 movw r24, r0 |
53c2: 27 9f mul r18, r23 |
53c4: 90 0d add r25, r0 |
53c6: 36 9f mul r19, r22 |
53c8: 90 0d add r25, r0 |
53ca: 11 24 eor r1, r1 |
53cc: 60 e1 ldi r22, 0x10 ; 16 |
53ce: 70 e0 ldi r23, 0x00 ; 0 |
53d0: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
53d4: 09 81 ldd r16, Y+1 ; 0x01 |
53d6: 1a 81 ldd r17, Y+2 ; 0x02 |
53d8: 06 1b sub r16, r22 |
53da: 17 0b sbc r17, r23 |
53dc: 20 91 bf 01 lds r18, 0x01BF |
53e0: 30 91 c0 01 lds r19, 0x01C0 |
53e4: 80 91 82 01 lds r24, 0x0182 |
53e8: 99 27 eor r25, r25 |
53ea: fc 01 movw r30, r24 |
53ec: 2e 9f mul r18, r30 |
53ee: c0 01 movw r24, r0 |
53f0: 2f 9f mul r18, r31 |
53f2: 90 0d add r25, r0 |
53f4: 3e 9f mul r19, r30 |
53f6: 90 0d add r25, r0 |
53f8: 11 24 eor r1, r1 |
53fa: 68 e0 ldi r22, 0x08 ; 8 |
53fc: 70 e0 ldi r23, 0x00 ; 0 |
53fe: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
5402: 06 1b sub r16, r22 |
5404: 17 0b sbc r17, r23 |
5406: 60 91 06 02 lds r22, 0x0206 |
540a: 70 91 07 02 lds r23, 0x0207 |
540e: 80 91 08 02 lds r24, 0x0208 |
5412: 90 91 09 02 lds r25, 0x0209 |
5416: 20 e0 ldi r18, 0x00 ; 0 |
5418: 32 e0 ldi r19, 0x02 ; 2 |
541a: 40 e0 ldi r20, 0x00 ; 0 |
541c: 50 e0 ldi r21, 0x00 ; 0 |
541e: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
5422: ca 01 movw r24, r20 |
5424: b9 01 movw r22, r18 |
5426: 20 91 85 01 lds r18, 0x0185 |
542a: 33 27 eor r19, r19 |
542c: 44 27 eor r20, r20 |
542e: 55 27 eor r21, r21 |
5430: 0e 94 38 2e call 0x5c70 ; 0x5c70 <__mulsi3> |
5434: 20 e2 ldi r18, 0x20 ; 32 |
5436: 30 e0 ldi r19, 0x00 ; 0 |
5438: 40 e0 ldi r20, 0x00 ; 0 |
543a: 50 e0 ldi r21, 0x00 ; 0 |
543c: 0e 94 a0 2e call 0x5d40 ; 0x5d40 <__divmodsi4> |
5440: ff ef ldi r31, 0xFF ; 255 |
5442: 2e 3c cpi r18, 0xCE ; 206 |
5444: 3f 07 cpc r19, r31 |
5446: 14 f4 brge .+4 ; 0x544c <MotorRegler+0xf18> |
5448: 2e ec ldi r18, 0xCE ; 206 |
544a: 3f ef ldi r19, 0xFF ; 255 |
544c: 80 91 2c 02 lds r24, 0x022C |
5450: 90 91 2d 02 lds r25, 0x022D |
5454: ac 01 movw r20, r24 |
5456: 74 e0 ldi r23, 0x04 ; 4 |
5458: 44 0f add r20, r20 |
545a: 55 1f adc r21, r21 |
545c: 7a 95 dec r23 |
545e: e1 f7 brne .-8 ; 0x5458 <MotorRegler+0xf24> |
5460: 48 1b sub r20, r24 |
5462: 59 0b sbc r21, r25 |
5464: 23 33 cpi r18, 0x33 ; 51 |
5466: 31 05 cpc r19, r1 |
5468: 14 f0 brlt .+4 ; 0x546e <MotorRegler+0xf3a> |
546a: 22 e3 ldi r18, 0x32 ; 50 |
546c: 30 e0 ldi r19, 0x00 ; 0 |
546e: 02 1b sub r16, r18 |
5470: 13 0b sbc r17, r19 |
5472: ca 01 movw r24, r20 |
5474: 80 0f add r24, r16 |
5476: 91 1f adc r25, r17 |
5478: 60 e1 ldi r22, 0x10 ; 16 |
547a: 70 e0 ldi r23, 0x00 ; 0 |
547c: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
5480: 70 93 2d 02 sts 0x022D, r23 |
5484: 60 93 2c 02 sts 0x022C, r22 |
5488: 80 91 e5 04 lds r24, 0x04E5 |
548c: 99 27 eor r25, r25 |
548e: 68 17 cp r22, r24 |
5490: 79 07 cpc r23, r25 |
5492: 8c f4 brge .+34 ; 0x54b6 <MotorRegler+0xf82> |
5494: 29 81 ldd r18, Y+1 ; 0x01 |
5496: 3a 81 ldd r19, Y+2 ; 0x02 |
5498: 28 17 cp r18, r24 |
549a: 39 07 cpc r19, r25 |
549c: 2c f0 brlt .+10 ; 0x54a8 <MotorRegler+0xf74> |
549e: 90 93 2d 02 sts 0x022D, r25 |
54a2: 80 93 2c 02 sts 0x022C, r24 |
54a6: 07 c0 rjmp .+14 ; 0x54b6 <MotorRegler+0xf82> |
54a8: 49 81 ldd r20, Y+1 ; 0x01 |
54aa: 5a 81 ldd r21, Y+2 ; 0x02 |
54ac: 50 93 2d 02 sts 0x022D, r21 |
54b0: 40 93 2c 02 sts 0x022C, r20 |
54b4: 0d c0 rjmp .+26 ; 0x54d0 <MotorRegler+0xf9c> |
54b6: 80 91 2c 02 lds r24, 0x022C |
54ba: 90 91 2d 02 lds r25, 0x022D |
54be: 69 81 ldd r22, Y+1 ; 0x01 |
54c0: 7a 81 ldd r23, Y+2 ; 0x02 |
54c2: 68 17 cp r22, r24 |
54c4: 79 07 cpc r23, r25 |
54c6: 24 f4 brge .+8 ; 0x54d0 <MotorRegler+0xf9c> |
54c8: 70 93 2d 02 sts 0x022D, r23 |
54cc: 60 93 2c 02 sts 0x022C, r22 |
54d0: 80 91 2c 02 lds r24, 0x022C |
54d4: 90 91 2d 02 lds r25, 0x022D |
54d8: 9a 83 std Y+2, r25 ; 0x02 |
54da: 89 83 std Y+1, r24 ; 0x01 |
54dc: 80 90 2c 05 lds r8, 0x052C |
54e0: 90 90 2d 05 lds r9, 0x052D |
54e4: eb 81 ldd r30, Y+3 ; 0x03 |
54e6: fc 81 ldd r31, Y+4 ; 0x04 |
54e8: 8e 1a sub r8, r30 |
54ea: 9f 0a sbc r9, r31 |
54ec: f5 e6 ldi r31, 0x65 ; 101 |
54ee: 8f 16 cp r8, r31 |
54f0: 91 04 cpc r9, r1 |
54f2: 24 f0 brlt .+8 ; 0x54fc <MotorRegler+0xfc8> |
54f4: 64 e6 ldi r22, 0x64 ; 100 |
54f6: 86 2e mov r8, r22 |
54f8: 91 2c mov r9, r1 |
54fa: 09 c0 rjmp .+18 ; 0x550e <MotorRegler+0xfda> |
54fc: 2c e9 ldi r18, 0x9C ; 156 |
54fe: 82 16 cp r8, r18 |
5500: 2f ef ldi r18, 0xFF ; 255 |
5502: 92 06 cpc r9, r18 |
5504: 24 f4 brge .+8 ; 0x550e <MotorRegler+0xfda> |
5506: 5c e9 ldi r21, 0x9C ; 156 |
5508: 85 2e mov r8, r21 |
550a: 5f ef ldi r21, 0xFF ; 255 |
550c: 95 2e mov r9, r21 |
550e: 40 90 7a 01 lds r4, 0x017A |
5512: 50 90 7b 01 lds r5, 0x017B |
5516: 60 90 7c 01 lds r6, 0x017C |
551a: 70 90 7d 01 lds r7, 0x017D |
551e: 60 91 18 05 lds r22, 0x0518 |
5522: 70 91 19 05 lds r23, 0x0519 |
5526: 20 91 1b 02 lds r18, 0x021B |
552a: 30 91 1c 02 lds r19, 0x021C |
552e: 40 91 4d 02 lds r20, 0x024D |
5532: 50 91 4e 02 lds r21, 0x024E |
5536: 24 1b sub r18, r20 |
5538: 35 0b sbc r19, r21 |
553a: 62 1b sub r22, r18 |
553c: 73 0b sbc r23, r19 |
553e: 88 27 eor r24, r24 |
5540: 77 fd sbrc r23, 7 |
5542: 80 95 com r24 |
5544: 98 2f mov r25, r24 |
5546: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
554a: 9b 01 movw r18, r22 |
554c: ac 01 movw r20, r24 |
554e: c3 01 movw r24, r6 |
5550: b2 01 movw r22, r4 |
5552: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
5556: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
555a: 70 93 66 02 sts 0x0266, r23 |
555e: 60 93 65 02 sts 0x0265, r22 |
5562: 80 91 65 02 lds r24, 0x0265 |
5566: 90 91 66 02 lds r25, 0x0266 |
556a: 8c 01 movw r16, r24 |
556c: 22 27 eor r18, r18 |
556e: 17 fd sbrc r17, 7 |
5570: 20 95 com r18 |
5572: 32 2f mov r19, r18 |
5574: 80 91 49 02 lds r24, 0x0249 |
5578: 90 91 4a 02 lds r25, 0x024A |
557c: a0 91 4b 02 lds r26, 0x024B |
5580: b0 91 4c 02 lds r27, 0x024C |
5584: 08 0f add r16, r24 |
5586: 19 1f adc r17, r25 |
5588: 2a 1f adc r18, r26 |
558a: 3b 1f adc r19, r27 |
558c: 00 93 49 02 sts 0x0249, r16 |
5590: 10 93 4a 02 sts 0x024A, r17 |
5594: 20 93 4b 02 sts 0x024B, r18 |
5598: 30 93 4c 02 sts 0x024C, r19 |
559c: 10 16 cp r1, r16 |
559e: 11 06 cpc r1, r17 |
55a0: 12 06 cpc r1, r18 |
55a2: 13 06 cpc r1, r19 |
55a4: ac f4 brge .+42 ; 0x55d0 <MotorRegler+0x109c> |
55a6: c8 01 movw r24, r16 |
55a8: 17 ff sbrs r17, 7 |
55aa: 03 c0 rjmp .+6 ; 0x55b2 <MotorRegler+0x107e> |
55ac: 90 95 com r25 |
55ae: 81 95 neg r24 |
55b0: 9f 4f sbci r25, 0xFF ; 255 |
55b2: 60 e0 ldi r22, 0x00 ; 0 |
55b4: 71 e0 ldi r23, 0x01 ; 1 |
55b6: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
55ba: 6f 5f subi r22, 0xFF ; 255 |
55bc: 7f 4f sbci r23, 0xFF ; 255 |
55be: 88 27 eor r24, r24 |
55c0: 77 fd sbrc r23, 7 |
55c2: 80 95 com r24 |
55c4: 98 2f mov r25, r24 |
55c6: 06 1b sub r16, r22 |
55c8: 17 0b sbc r17, r23 |
55ca: 28 0b sbc r18, r24 |
55cc: 39 0b sbc r19, r25 |
55ce: 14 c0 rjmp .+40 ; 0x55f8 <MotorRegler+0x10c4> |
55d0: c8 01 movw r24, r16 |
55d2: 17 ff sbrs r17, 7 |
55d4: 03 c0 rjmp .+6 ; 0x55dc <MotorRegler+0x10a8> |
55d6: 90 95 com r25 |
55d8: 81 95 neg r24 |
55da: 9f 4f sbci r25, 0xFF ; 255 |
55dc: 60 e0 ldi r22, 0x00 ; 0 |
55de: 71 e0 ldi r23, 0x01 ; 1 |
55e0: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
55e4: 6f 5f subi r22, 0xFF ; 255 |
55e6: 7f 4f sbci r23, 0xFF ; 255 |
55e8: 88 27 eor r24, r24 |
55ea: 77 fd sbrc r23, 7 |
55ec: 80 95 com r24 |
55ee: 98 2f mov r25, r24 |
55f0: 06 0f add r16, r22 |
55f2: 17 1f adc r17, r23 |
55f4: 28 1f adc r18, r24 |
55f6: 39 1f adc r19, r25 |
55f8: 00 93 49 02 sts 0x0249, r16 |
55fc: 10 93 4a 02 sts 0x024A, r17 |
5600: 20 93 4b 02 sts 0x024B, r18 |
5604: 30 93 4c 02 sts 0x024C, r19 |
5608: 80 91 49 02 lds r24, 0x0249 |
560c: 90 91 4a 02 lds r25, 0x024A |
5610: a0 91 4b 02 lds r26, 0x024B |
5614: b0 91 4c 02 lds r27, 0x024C |
5618: 81 38 cpi r24, 0x81 ; 129 |
561a: 3e e3 ldi r19, 0x3E ; 62 |
561c: 93 07 cpc r25, r19 |
561e: 30 e0 ldi r19, 0x00 ; 0 |
5620: a3 07 cpc r26, r19 |
5622: 30 e0 ldi r19, 0x00 ; 0 |
5624: b3 07 cpc r27, r19 |
5626: 2c f0 brlt .+10 ; 0x5632 <MotorRegler+0x10fe> |
5628: 80 e8 ldi r24, 0x80 ; 128 |
562a: 9e e3 ldi r25, 0x3E ; 62 |
562c: a0 e0 ldi r26, 0x00 ; 0 |
562e: b0 e0 ldi r27, 0x00 ; 0 |
5630: 09 c0 rjmp .+18 ; 0x5644 <MotorRegler+0x1110> |
5632: 80 58 subi r24, 0x80 ; 128 |
5634: 91 4c sbci r25, 0xC1 ; 193 |
5636: af 4f sbci r26, 0xFF ; 255 |
5638: bf 4f sbci r27, 0xFF ; 255 |
563a: 64 f4 brge .+24 ; 0x5654 <MotorRegler+0x1120> |
563c: 80 e8 ldi r24, 0x80 ; 128 |
563e: 91 ec ldi r25, 0xC1 ; 193 |
5640: af ef ldi r26, 0xFF ; 255 |
5642: bf ef ldi r27, 0xFF ; 255 |
5644: 80 93 49 02 sts 0x0249, r24 |
5648: 90 93 4a 02 sts 0x024A, r25 |
564c: a0 93 4b 02 sts 0x024B, r26 |
5650: b0 93 4c 02 sts 0x024C, r27 |
5654: 60 91 65 02 lds r22, 0x0265 |
5658: 70 91 66 02 lds r23, 0x0266 |
565c: a0 90 7e 01 lds r10, 0x017E |
5660: b0 90 7f 01 lds r11, 0x017F |
5664: c0 90 80 01 lds r12, 0x0180 |
5668: d0 90 81 01 lds r13, 0x0181 |
566c: 88 27 eor r24, r24 |
566e: 77 fd sbrc r23, 7 |
5670: 80 95 com r24 |
5672: 98 2f mov r25, r24 |
5674: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
5678: 7b 01 movw r14, r22 |
567a: 8c 01 movw r16, r24 |
567c: 60 91 49 02 lds r22, 0x0249 |
5680: 70 91 4a 02 lds r23, 0x024A |
5684: 80 91 4b 02 lds r24, 0x024B |
5688: 90 91 4c 02 lds r25, 0x024C |
568c: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
5690: 9b 01 movw r18, r22 |
5692: ac 01 movw r20, r24 |
5694: c6 01 movw r24, r12 |
5696: b5 01 movw r22, r10 |
5698: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
569c: 9b 01 movw r18, r22 |
569e: ac 01 movw r20, r24 |
56a0: c8 01 movw r24, r16 |
56a2: b7 01 movw r22, r14 |
56a4: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
56a8: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
56ac: 94 01 movw r18, r8 |
56ae: 26 0f add r18, r22 |
56b0: 37 1f adc r19, r23 |
56b2: 89 81 ldd r24, Y+1 ; 0x01 |
56b4: 9a 81 ldd r25, Y+2 ; 0x02 |
56b6: 28 0f add r18, r24 |
56b8: 39 1f adc r19, r25 |
56ba: 22 24 eor r2, r2 |
56bc: 0a 97 sbiw r24, 0x0a ; 10 |
56be: 14 f4 brge .+4 ; 0x56c4 <MotorRegler+0x1190> |
56c0: 41 e0 ldi r20, 0x01 ; 1 |
56c2: 24 2e mov r2, r20 |
56c4: 37 fd sbrc r19, 7 |
56c6: 02 c0 rjmp .+4 ; 0x56cc <MotorRegler+0x1198> |
56c8: 22 20 and r2, r2 |
56ca: 19 f0 breq .+6 ; 0x56d2 <MotorRegler+0x119e> |
56cc: 40 e0 ldi r20, 0x00 ; 0 |
56ce: 50 e0 ldi r21, 0x00 ; 0 |
56d0: 08 c0 rjmp .+16 ; 0x56e2 <MotorRegler+0x11ae> |
56d2: 80 91 2b 05 lds r24, 0x052B |
56d6: 48 2f mov r20, r24 |
56d8: 55 27 eor r21, r21 |
56da: 24 17 cp r18, r20 |
56dc: 35 07 cpc r19, r21 |
56de: 0c f4 brge .+2 ; 0x56e2 <MotorRegler+0x11ae> |
56e0: a9 01 movw r20, r18 |
56e2: 80 91 1a 05 lds r24, 0x051A |
56e6: e8 2f mov r30, r24 |
56e8: ff 27 eor r31, r31 |
56ea: f8 87 std Y+8, r31 ; 0x08 |
56ec: ef 83 std Y+7, r30 ; 0x07 |
56ee: 9f 01 movw r18, r30 |
56f0: e4 17 cp r30, r20 |
56f2: f5 07 cpc r31, r21 |
56f4: 0c f4 brge .+2 ; 0x56f8 <MotorRegler+0x11c4> |
56f6: 9a 01 movw r18, r20 |
56f8: 20 93 63 02 sts 0x0263, r18 |
56fc: 29 81 ldd r18, Y+1 ; 0x01 |
56fe: 3a 81 ldd r19, Y+2 ; 0x02 |
5700: 26 1b sub r18, r22 |
5702: 37 0b sbc r19, r23 |
5704: b9 01 movw r22, r18 |
5706: 68 0d add r22, r8 |
5708: 79 1d adc r23, r9 |
570a: 77 fd sbrc r23, 7 |
570c: 02 c0 rjmp .+4 ; 0x5712 <MotorRegler+0x11de> |
570e: 22 20 and r2, r2 |
5710: 19 f0 breq .+6 ; 0x5718 <MotorRegler+0x11e4> |
5712: 80 e0 ldi r24, 0x00 ; 0 |
5714: 90 e0 ldi r25, 0x00 ; 0 |
5716: 07 c0 rjmp .+14 ; 0x5726 <MotorRegler+0x11f2> |
5718: 80 91 2b 05 lds r24, 0x052B |
571c: 99 27 eor r25, r25 |
571e: 68 17 cp r22, r24 |
5720: 79 07 cpc r23, r25 |
5722: 0c f4 brge .+2 ; 0x5726 <MotorRegler+0x11f2> |
5724: cb 01 movw r24, r22 |
5726: 2f 81 ldd r18, Y+7 ; 0x07 |
5728: 38 85 ldd r19, Y+8 ; 0x08 |
572a: 28 17 cp r18, r24 |
572c: 39 07 cpc r19, r25 |
572e: 0c f4 brge .+2 ; 0x5732 <MotorRegler+0x11fe> |
5730: 9c 01 movw r18, r24 |
5732: 20 93 64 02 sts 0x0264, r18 |
5736: 60 91 16 05 lds r22, 0x0516 |
573a: 70 91 17 05 lds r23, 0x0517 |
573e: 20 91 1d 02 lds r18, 0x021D |
5742: 30 91 1e 02 lds r19, 0x021E |
5746: 40 91 4f 02 lds r20, 0x024F |
574a: 50 91 50 02 lds r21, 0x0250 |
574e: 24 1b sub r18, r20 |
5750: 35 0b sbc r19, r21 |
5752: 62 1b sub r22, r18 |
5754: 73 0b sbc r23, r19 |
5756: 88 27 eor r24, r24 |
5758: 77 fd sbrc r23, 7 |
575a: 80 95 com r24 |
575c: 98 2f mov r25, r24 |
575e: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
5762: 9b 01 movw r18, r22 |
5764: ac 01 movw r20, r24 |
5766: c3 01 movw r24, r6 |
5768: b2 01 movw r22, r4 |
576a: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
576e: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
5772: 70 93 62 02 sts 0x0262, r23 |
5776: 60 93 61 02 sts 0x0261, r22 |
577a: 80 91 61 02 lds r24, 0x0261 |
577e: 90 91 62 02 lds r25, 0x0262 |
5782: 8c 01 movw r16, r24 |
5784: 22 27 eor r18, r18 |
5786: 17 fd sbrc r17, 7 |
5788: 20 95 com r18 |
578a: 32 2f mov r19, r18 |
578c: 80 91 45 02 lds r24, 0x0245 |
5790: 90 91 46 02 lds r25, 0x0246 |
5794: a0 91 47 02 lds r26, 0x0247 |
5798: b0 91 48 02 lds r27, 0x0248 |
579c: 08 0f add r16, r24 |
579e: 19 1f adc r17, r25 |
57a0: 2a 1f adc r18, r26 |
57a2: 3b 1f adc r19, r27 |
57a4: 00 93 45 02 sts 0x0245, r16 |
57a8: 10 93 46 02 sts 0x0246, r17 |
57ac: 20 93 47 02 sts 0x0247, r18 |
57b0: 30 93 48 02 sts 0x0248, r19 |
57b4: 10 16 cp r1, r16 |
57b6: 11 06 cpc r1, r17 |
57b8: 12 06 cpc r1, r18 |
57ba: 13 06 cpc r1, r19 |
57bc: ac f4 brge .+42 ; 0x57e8 <MotorRegler+0x12b4> |
57be: c8 01 movw r24, r16 |
57c0: 17 ff sbrs r17, 7 |
57c2: 03 c0 rjmp .+6 ; 0x57ca <MotorRegler+0x1296> |
57c4: 90 95 com r25 |
57c6: 81 95 neg r24 |
57c8: 9f 4f sbci r25, 0xFF ; 255 |
57ca: 60 e0 ldi r22, 0x00 ; 0 |
57cc: 71 e0 ldi r23, 0x01 ; 1 |
57ce: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
57d2: 6f 5f subi r22, 0xFF ; 255 |
57d4: 7f 4f sbci r23, 0xFF ; 255 |
57d6: 88 27 eor r24, r24 |
57d8: 77 fd sbrc r23, 7 |
57da: 80 95 com r24 |
57dc: 98 2f mov r25, r24 |
57de: 06 1b sub r16, r22 |
57e0: 17 0b sbc r17, r23 |
57e2: 28 0b sbc r18, r24 |
57e4: 39 0b sbc r19, r25 |
57e6: 14 c0 rjmp .+40 ; 0x5810 <MotorRegler+0x12dc> |
57e8: c8 01 movw r24, r16 |
57ea: 17 ff sbrs r17, 7 |
57ec: 03 c0 rjmp .+6 ; 0x57f4 <MotorRegler+0x12c0> |
57ee: 90 95 com r25 |
57f0: 81 95 neg r24 |
57f2: 9f 4f sbci r25, 0xFF ; 255 |
57f4: 60 e0 ldi r22, 0x00 ; 0 |
57f6: 71 e0 ldi r23, 0x01 ; 1 |
57f8: 0e 94 6b 2e call 0x5cd6 ; 0x5cd6 <__divmodhi4> |
57fc: 6f 5f subi r22, 0xFF ; 255 |
57fe: 7f 4f sbci r23, 0xFF ; 255 |
5800: 88 27 eor r24, r24 |
5802: 77 fd sbrc r23, 7 |
5804: 80 95 com r24 |
5806: 98 2f mov r25, r24 |
5808: 06 0f add r16, r22 |
580a: 17 1f adc r17, r23 |
580c: 28 1f adc r18, r24 |
580e: 39 1f adc r19, r25 |
5810: 00 93 45 02 sts 0x0245, r16 |
5814: 10 93 46 02 sts 0x0246, r17 |
5818: 20 93 47 02 sts 0x0247, r18 |
581c: 30 93 48 02 sts 0x0248, r19 |
5820: 80 91 45 02 lds r24, 0x0245 |
5824: 90 91 46 02 lds r25, 0x0246 |
5828: a0 91 47 02 lds r26, 0x0247 |
582c: b0 91 48 02 lds r27, 0x0248 |
5830: 81 38 cpi r24, 0x81 ; 129 |
5832: 3e e3 ldi r19, 0x3E ; 62 |
5834: 93 07 cpc r25, r19 |
5836: 30 e0 ldi r19, 0x00 ; 0 |
5838: a3 07 cpc r26, r19 |
583a: 30 e0 ldi r19, 0x00 ; 0 |
583c: b3 07 cpc r27, r19 |
583e: 2c f0 brlt .+10 ; 0x584a <MotorRegler+0x1316> |
5840: 80 e8 ldi r24, 0x80 ; 128 |
5842: 9e e3 ldi r25, 0x3E ; 62 |
5844: a0 e0 ldi r26, 0x00 ; 0 |
5846: b0 e0 ldi r27, 0x00 ; 0 |
5848: 09 c0 rjmp .+18 ; 0x585c <MotorRegler+0x1328> |
584a: 80 58 subi r24, 0x80 ; 128 |
584c: 91 4c sbci r25, 0xC1 ; 193 |
584e: af 4f sbci r26, 0xFF ; 255 |
5850: bf 4f sbci r27, 0xFF ; 255 |
5852: 64 f4 brge .+24 ; 0x586c <MotorRegler+0x1338> |
5854: 80 e8 ldi r24, 0x80 ; 128 |
5856: 91 ec ldi r25, 0xC1 ; 193 |
5858: af ef ldi r26, 0xFF ; 255 |
585a: bf ef ldi r27, 0xFF ; 255 |
585c: 80 93 45 02 sts 0x0245, r24 |
5860: 90 93 46 02 sts 0x0246, r25 |
5864: a0 93 47 02 sts 0x0247, r26 |
5868: b0 93 48 02 sts 0x0248, r27 |
586c: 60 91 61 02 lds r22, 0x0261 |
5870: 70 91 62 02 lds r23, 0x0262 |
5874: 88 27 eor r24, r24 |
5876: 77 fd sbrc r23, 7 |
5878: 80 95 com r24 |
587a: 98 2f mov r25, r24 |
587c: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
5880: 7b 01 movw r14, r22 |
5882: 8c 01 movw r16, r24 |
5884: 60 91 45 02 lds r22, 0x0245 |
5888: 70 91 46 02 lds r23, 0x0246 |
588c: 80 91 47 02 lds r24, 0x0247 |
5890: 90 91 48 02 lds r25, 0x0248 |
5894: 0e 94 76 2d call 0x5aec ; 0x5aec <__floatsisf> |
5898: 9b 01 movw r18, r22 |
589a: ac 01 movw r20, r24 |
589c: c6 01 movw r24, r12 |
589e: b5 01 movw r22, r10 |
58a0: 0e 94 f0 2d call 0x5be0 ; 0x5be0 <__mulsf3> |
58a4: 9b 01 movw r18, r22 |
58a6: ac 01 movw r20, r24 |
58a8: c8 01 movw r24, r16 |
58aa: b7 01 movw r22, r14 |
58ac: 0e 94 d1 2c call 0x59a2 ; 0x59a2 <__addsf3> |
58b0: 0e 94 59 2d call 0x5ab2 ; 0x5ab2 <__fixsfsi> |
58b4: 29 81 ldd r18, Y+1 ; 0x01 |
58b6: 3a 81 ldd r19, Y+2 ; 0x02 |
58b8: 26 0f add r18, r22 |
58ba: 37 1f adc r19, r23 |
58bc: 28 19 sub r18, r8 |
58be: 39 09 sbc r19, r9 |
58c0: 37 fd sbrc r19, 7 |
58c2: 02 c0 rjmp .+4 ; 0x58c8 <MotorRegler+0x1394> |
58c4: 22 20 and r2, r2 |
58c6: 19 f0 breq .+6 ; 0x58ce <MotorRegler+0x139a> |
58c8: 40 e0 ldi r20, 0x00 ; 0 |
58ca: 50 e0 ldi r21, 0x00 ; 0 |
58cc: 08 c0 rjmp .+16 ; 0x58de <MotorRegler+0x13aa> |
58ce: 80 91 2b 05 lds r24, 0x052B |
58d2: 48 2f mov r20, r24 |
58d4: 55 27 eor r21, r21 |
58d6: 24 17 cp r18, r20 |
58d8: 35 07 cpc r19, r21 |
58da: 0c f4 brge .+2 ; 0x58de <MotorRegler+0x13aa> |
58dc: a9 01 movw r20, r18 |
58de: 2f 81 ldd r18, Y+7 ; 0x07 |
58e0: 38 85 ldd r19, Y+8 ; 0x08 |
58e2: 24 17 cp r18, r20 |
58e4: 35 07 cpc r19, r21 |
58e6: 0c f4 brge .+2 ; 0x58ea <MotorRegler+0x13b6> |
58e8: 9a 01 movw r18, r20 |
58ea: 20 93 69 02 sts 0x0269, r18 |
58ee: 89 81 ldd r24, Y+1 ; 0x01 |
58f0: 9a 81 ldd r25, Y+2 ; 0x02 |
58f2: 86 1b sub r24, r22 |
58f4: 97 0b sbc r25, r23 |
58f6: bc 01 movw r22, r24 |
58f8: 68 19 sub r22, r8 |
58fa: 79 09 sbc r23, r9 |
58fc: 77 fd sbrc r23, 7 |
58fe: 02 c0 rjmp .+4 ; 0x5904 <MotorRegler+0x13d0> |
5900: 22 20 and r2, r2 |
5902: 19 f0 breq .+6 ; 0x590a <MotorRegler+0x13d6> |
5904: 20 e0 ldi r18, 0x00 ; 0 |
5906: 30 e0 ldi r19, 0x00 ; 0 |
5908: 08 c0 rjmp .+16 ; 0x591a <MotorRegler+0x13e6> |
590a: 80 91 2b 05 lds r24, 0x052B |
590e: 28 2f mov r18, r24 |
5910: 33 27 eor r19, r19 |
5912: 62 17 cp r22, r18 |
5914: 73 07 cpc r23, r19 |
5916: 0c f4 brge .+2 ; 0x591a <MotorRegler+0x13e6> |
5918: 9b 01 movw r18, r22 |
591a: 8f 81 ldd r24, Y+7 ; 0x07 |
591c: 98 85 ldd r25, Y+8 ; 0x08 |
591e: 82 17 cp r24, r18 |
5920: 93 07 cpc r25, r19 |
5922: 0c f4 brge .+2 ; 0x5926 <MotorRegler+0x13f2> |
5924: c9 01 movw r24, r18 |
5926: 80 93 67 02 sts 0x0267, r24 |
592a: e2 e1 ldi r30, 0x12 ; 18 |
592c: c8 5f subi r28, 0xF8 ; 248 |
592e: 0c 94 d7 2e jmp 0x5dae ; 0x5dae <__epilogue_restores__> |
00005932 <GPS_Neutral>: |
5932: 80 91 51 02 lds r24, 0x0251 |
5936: 90 91 52 02 lds r25, 0x0252 |
593a: a0 91 53 02 lds r26, 0x0253 |
593e: b0 91 54 02 lds r27, 0x0254 |
5942: 80 93 59 02 sts 0x0259, r24 |
5946: 90 93 5a 02 sts 0x025A, r25 |
594a: a0 93 5b 02 sts 0x025B, r26 |
594e: b0 93 5c 02 sts 0x025C, r27 |
5952: 80 91 55 02 lds r24, 0x0255 |
5956: 90 91 56 02 lds r25, 0x0256 |
595a: a0 91 57 02 lds r26, 0x0257 |
595e: b0 91 58 02 lds r27, 0x0258 |
5962: 80 93 5d 02 sts 0x025D, r24 |
5966: 90 93 5e 02 sts 0x025E, r25 |
596a: a0 93 5f 02 sts 0x025F, r26 |
596e: b0 93 60 02 sts 0x0260, r27 |
5972: 08 95 ret |
00005974 <GPS_BerechneZielrichtung>: |
5974: 10 92 4e 02 sts 0x024E, r1 |
5978: 10 92 4d 02 sts 0x024D, r1 |
597c: 10 92 50 02 sts 0x0250, r1 |
5980: 10 92 4f 02 sts 0x024F, r1 |
5984: 08 95 ret |
00005986 <memchr>: |
5986: fc 01 movw r30, r24 |
5988: 41 50 subi r20, 0x01 ; 1 |
598a: 50 40 sbci r21, 0x00 ; 0 |
598c: 30 f0 brcs .+12 ; 0x599a <memchr+0x14> |
598e: 01 90 ld r0, Z+ |
5990: 06 16 cp r0, r22 |
5992: d1 f7 brne .-12 ; 0x5988 <memchr+0x2> |
5994: 31 97 sbiw r30, 0x01 ; 1 |
5996: cf 01 movw r24, r30 |
5998: 08 95 ret |
599a: 88 27 eor r24, r24 |
599c: 99 27 eor r25, r25 |
599e: 08 95 ret |
000059a0 <__subsf3>: |
59a0: 50 58 subi r21, 0x80 ; 128 |
000059a2 <__addsf3>: |
59a2: 19 2e mov r1, r25 |
59a4: ef d0 rcall .+478 ; 0x5b84 <__fp_split3> |
59a6: 01 d0 rcall .+2 ; 0x59aa <__addsf3x> |
59a8: d2 c0 rjmp .+420 ; 0x5b4e <__fp_merge> |
000059aa <__addsf3x>: |
59aa: ba 17 cp r27, r26 |
59ac: 62 07 cpc r22, r18 |
59ae: 73 07 cpc r23, r19 |
59b0: 84 07 cpc r24, r20 |
59b2: 95 07 cpc r25, r21 |
59b4: b1 f1 breq .+108 ; 0x5a22 <__addsf3x+0x78> |
59b6: 88 f4 brcc .+34 ; 0x59da <__addsf3x+0x30> |
59b8: 0e f4 brtc .+2 ; 0x59bc <__addsf3x+0x12> |
59ba: 10 94 com r1 |
59bc: 0b 2e mov r0, r27 |
59be: ba 2f mov r27, r26 |
59c0: a0 2d mov r26, r0 |
59c2: 06 2e mov r0, r22 |
59c4: 62 2f mov r22, r18 |
59c6: 20 2d mov r18, r0 |
59c8: 07 2e mov r0, r23 |
59ca: 73 2f mov r23, r19 |
59cc: 30 2d mov r19, r0 |
59ce: 08 2e mov r0, r24 |
59d0: 84 2f mov r24, r20 |
59d2: 40 2d mov r20, r0 |
59d4: 09 2e mov r0, r25 |
59d6: 95 2f mov r25, r21 |
59d8: 50 2d mov r21, r0 |
59da: ff 27 eor r31, r31 |
59dc: 55 23 and r21, r21 |
59de: b9 f0 breq .+46 ; 0x5a0e <__addsf3x+0x64> |
59e0: 59 1b sub r21, r25 |
59e2: 49 f0 breq .+18 ; 0x59f6 <__addsf3x+0x4c> |
59e4: 57 3e cpi r21, 0xE7 ; 231 |
59e6: 98 f0 brcs .+38 ; 0x5a0e <__addsf3x+0x64> |
59e8: 46 95 lsr r20 |
59ea: 37 95 ror r19 |
59ec: 27 95 ror r18 |
59ee: a7 95 ror r26 |
59f0: f0 40 sbci r31, 0x00 ; 0 |
59f2: 53 95 inc r21 |
59f4: c9 f7 brne .-14 ; 0x59e8 <__addsf3x+0x3e> |
59f6: 76 f0 brts .+28 ; 0x5a14 <__addsf3x+0x6a> |
59f8: ba 0f add r27, r26 |
59fa: 62 1f adc r22, r18 |
59fc: 73 1f adc r23, r19 |
59fe: 84 1f adc r24, r20 |
5a00: 30 f4 brcc .+12 ; 0x5a0e <__addsf3x+0x64> |
5a02: 87 95 ror r24 |
5a04: 77 95 ror r23 |
5a06: 67 95 ror r22 |
5a08: b7 95 ror r27 |
5a0a: f0 40 sbci r31, 0x00 ; 0 |
5a0c: 93 95 inc r25 |
5a0e: 17 fa bst r1, 7 |
5a10: 0f 2e mov r0, r31 |
5a12: 08 95 ret |
5a14: bf 1b sub r27, r31 |
5a16: bb 27 eor r27, r27 |
5a18: ba 0b sbc r27, r26 |
5a1a: 62 0b sbc r22, r18 |
5a1c: 73 0b sbc r23, r19 |
5a1e: 84 0b sbc r24, r20 |
5a20: f6 cf rjmp .-20 ; 0x5a0e <__addsf3x+0x64> |
5a22: de f6 brtc .-74 ; 0x59da <__addsf3x+0x30> |
5a24: db c0 rjmp .+438 ; 0x5bdc <__fp_zerox> |
00005a26 <__divsf3>: |
5a26: ae d0 rcall .+348 ; 0x5b84 <__fp_split3> |
5a28: 01 d0 rcall .+2 ; 0x5a2c <__divsf3x> |
5a2a: 91 c0 rjmp .+290 ; 0x5b4e <__fp_merge> |
00005a2c <__divsf3x>: |
5a2c: 55 23 and r21, r21 |
5a2e: 59 f0 breq .+22 ; 0x5a46 <__divsf3x+0x1a> |
5a30: 99 23 and r25, r25 |
5a32: 69 f0 breq .+26 ; 0x5a4e <__divsf3x+0x22> |
5a34: 9f 57 subi r25, 0x7F ; 127 |
5a36: 5f 57 subi r21, 0x7F ; 127 |
5a38: 95 1b sub r25, r21 |
5a3a: 33 f4 brvc .+12 ; 0x5a48 <__divsf3x+0x1c> |
5a3c: 42 f4 brpl .+16 ; 0x5a4e <__divsf3x+0x22> |
5a3e: 90 38 cpi r25, 0x80 ; 128 |
5a40: 11 f4 brne .+4 ; 0x5a46 <__divsf3x+0x1a> |
5a42: 91 58 subi r25, 0x81 ; 129 |
5a44: 05 c0 rjmp .+10 ; 0x5a50 <__divsf3x+0x24> |
5a46: 9b c0 rjmp .+310 ; 0x5b7e <__fp_nan> |
5a48: 91 58 subi r25, 0x81 ; 129 |
5a4a: 9f 3f cpi r25, 0xFF ; 255 |
5a4c: 09 f4 brne .+2 ; 0x5a50 <__divsf3x+0x24> |
5a4e: c6 c0 rjmp .+396 ; 0x5bdc <__fp_zerox> |
5a50: bb 27 eor r27, r27 |
5a52: 11 24 eor r1, r1 |
5a54: 62 17 cp r22, r18 |
5a56: 73 07 cpc r23, r19 |
5a58: 84 07 cpc r24, r20 |
5a5a: 30 f4 brcc .+12 ; 0x5a68 <__divsf3x+0x3c> |
5a5c: 66 0f add r22, r22 |
5a5e: 77 1f adc r23, r23 |
5a60: 88 1f adc r24, r24 |
5a62: bb 1f adc r27, r27 |
5a64: 91 50 subi r25, 0x01 ; 1 |
5a66: 98 f3 brcs .-26 ; 0x5a4e <__divsf3x+0x22> |
5a68: 11 d0 rcall .+34 ; 0x5a8c <__divsf3x+0x60> |
5a6a: 0f 92 push r0 |
5a6c: 0f d0 rcall .+30 ; 0x5a8c <__divsf3x+0x60> |
5a6e: 0f 92 push r0 |
5a70: 0d d0 rcall .+26 ; 0x5a8c <__divsf3x+0x60> |
5a72: a0 e8 ldi r26, 0x80 ; 128 |
5a74: 26 17 cp r18, r22 |
5a76: 37 07 cpc r19, r23 |
5a78: 48 07 cpc r20, r24 |
5a7a: 1b 06 cpc r1, r27 |
5a7c: 09 f0 breq .+2 ; 0x5a80 <__divsf3x+0x54> |
5a7e: a0 48 sbci r26, 0x80 ; 128 |
5a80: ba 2f mov r27, r26 |
5a82: 60 2d mov r22, r0 |
5a84: 7f 91 pop r23 |
5a86: 8f 91 pop r24 |
5a88: 00 24 eor r0, r0 |
5a8a: 08 95 ret |
5a8c: a0 e8 ldi r26, 0x80 ; 128 |
5a8e: 00 24 eor r0, r0 |
5a90: 62 17 cp r22, r18 |
5a92: 73 07 cpc r23, r19 |
5a94: 84 07 cpc r24, r20 |
5a96: b1 05 cpc r27, r1 |
5a98: 28 f0 brcs .+10 ; 0x5aa4 <__divsf3x+0x78> |
5a9a: 62 1b sub r22, r18 |
5a9c: 73 0b sbc r23, r19 |
5a9e: 84 0b sbc r24, r20 |
5aa0: b1 09 sbc r27, r1 |
5aa2: 0a 2a or r0, r26 |
5aa4: 66 0f add r22, r22 |
5aa6: 77 1f adc r23, r23 |
5aa8: 88 1f adc r24, r24 |
5aaa: bb 1f adc r27, r27 |
5aac: a6 95 lsr r26 |
5aae: 81 f7 brne .-32 ; 0x5a90 <__divsf3x+0x64> |
5ab0: 08 95 ret |
00005ab2 <__fixsfsi>: |
5ab2: 97 fb bst r25, 7 |
5ab4: 73 d0 rcall .+230 ; 0x5b9c <__fp_split1> |
5ab6: 9f 37 cpi r25, 0x7F ; 127 |
5ab8: 38 f0 brcs .+14 ; 0x5ac8 <__fixsfsi+0x16> |
5aba: fe e9 ldi r31, 0x9E ; 158 |
5abc: f9 1b sub r31, r25 |
5abe: 98 2f mov r25, r24 |
5ac0: 87 2f mov r24, r23 |
5ac2: 76 2f mov r23, r22 |
5ac4: 6b 2f mov r22, r27 |
5ac6: 05 c0 rjmp .+10 ; 0x5ad2 <__fixsfsi+0x20> |
5ac8: 86 c0 rjmp .+268 ; 0x5bd6 <__fp_zero> |
5aca: 96 95 lsr r25 |
5acc: 87 95 ror r24 |
5ace: 77 95 ror r23 |
5ad0: 67 95 ror r22 |
5ad2: f1 50 subi r31, 0x01 ; 1 |
5ad4: d0 f7 brcc .-12 ; 0x5aca <__fixsfsi+0x18> |
5ad6: 3e f4 brtc .+14 ; 0x5ae6 <__fp_lneg+0xe> |
00005ad8 <__fp_lneg>: |
5ad8: 90 95 com r25 |
5ada: 80 95 com r24 |
5adc: 70 95 com r23 |
5ade: 61 95 neg r22 |
5ae0: 7f 4f sbci r23, 0xFF ; 255 |
5ae2: 8f 4f sbci r24, 0xFF ; 255 |
5ae4: 9f 4f sbci r25, 0xFF ; 255 |
5ae6: 08 95 ret |
00005ae8 <__floatunssisf>: |
5ae8: e8 94 clt |
5aea: 03 c0 rjmp .+6 ; 0x5af2 <__floatsisf+0x6> |
00005aec <__floatsisf>: |
5aec: 97 fb bst r25, 7 |
5aee: 0e f4 brtc .+2 ; 0x5af2 <__floatsisf+0x6> |
5af0: f3 df rcall .-26 ; 0x5ad8 <__fp_lneg> |
5af2: b6 2f mov r27, r22 |
5af4: 67 2f mov r22, r23 |
5af6: 78 2f mov r23, r24 |
5af8: 89 2f mov r24, r25 |
5afa: 9e e9 ldi r25, 0x9E ; 158 |
5afc: 00 24 eor r0, r0 |
5afe: 27 c0 rjmp .+78 ; 0x5b4e <__fp_merge> |
00005b00 <__eqsf2>: |
5b00: 0e d0 rcall .+28 ; 0x5b1e <.fp_cmp> |
5b02: 5e f0 brts .+22 ; 0x5b1a <__cmpsf2+0xe> |
5b04: 04 c0 rjmp .+8 ; 0x5b0e <__cmpsf2+0x2> |
00005b06 <__gesf2>: |
5b06: 0b d0 rcall .+22 ; 0x5b1e <.fp_cmp> |
5b08: 26 f0 brts .+8 ; 0x5b12 <__cmpsf2+0x6> |
5b0a: 01 c0 rjmp .+2 ; 0x5b0e <__cmpsf2+0x2> |
00005b0c <__cmpsf2>: |
5b0c: 08 d0 rcall .+16 ; 0x5b1e <.fp_cmp> |
5b0e: 19 f0 breq .+6 ; 0x5b16 <__cmpsf2+0xa> |
5b10: 20 f4 brcc .+8 ; 0x5b1a <__cmpsf2+0xe> |
5b12: 8f ef ldi r24, 0xFF ; 255 |
5b14: 08 95 ret |
5b16: 80 e0 ldi r24, 0x00 ; 0 |
5b18: 08 95 ret |
5b1a: 81 e0 ldi r24, 0x01 ; 1 |
5b1c: 08 95 ret |
00005b1e <.fp_cmp>: |
5b1e: 97 fb bst r25, 7 |
5b20: 09 2e mov r0, r25 |
5b22: 05 26 eor r0, r21 |
5b24: 00 f8 bld r0, 0 |
5b26: 68 94 set |
5b28: 30 d0 rcall .+96 ; 0x5b8a <__fp_split2> |
5b2a: e8 94 clt |
5b2c: 07 fc sbrc r0, 7 |
5b2e: 07 c0 rjmp .+14 ; 0x5b3e <.fp_cmp+0x20> |
5b30: 62 17 cp r22, r18 |
5b32: 73 07 cpc r23, r19 |
5b34: 84 07 cpc r24, r20 |
5b36: 95 07 cpc r25, r21 |
5b38: 21 f0 breq .+8 ; 0x5b42 <.fp_cmp+0x24> |
5b3a: 08 f4 brcc .+2 ; 0x5b3e <.fp_cmp+0x20> |
5b3c: 00 94 com r0 |
5b3e: 07 94 ror r0 |
5b40: 98 94 clz |
5b42: 08 95 ret |
5b44: 9a 95 dec r25 |
5b46: bb 0f add r27, r27 |
5b48: 66 1f adc r22, r22 |
5b4a: 77 1f adc r23, r23 |
5b4c: 88 1f adc r24, r24 |
00005b4e <__fp_merge>: |
5b4e: 11 24 eor r1, r1 |
5b50: 99 23 and r25, r25 |
5b52: a1 f0 breq .+40 ; 0x5b7c <__fp_merge+0x2e> |
5b54: 88 23 and r24, r24 |
5b56: b2 f7 brpl .-20 ; 0x5b44 <.fp_cmp+0x26> |
5b58: 9f 3f cpi r25, 0xFF ; 255 |
5b5a: 59 f0 breq .+22 ; 0x5b72 <__fp_merge+0x24> |
5b5c: bb 0f add r27, r27 |
5b5e: 48 f4 brcc .+18 ; 0x5b72 <__fp_merge+0x24> |
5b60: 21 f4 brne .+8 ; 0x5b6a <__fp_merge+0x1c> |
5b62: 00 20 and r0, r0 |
5b64: 11 f4 brne .+4 ; 0x5b6a <__fp_merge+0x1c> |
5b66: 60 ff sbrs r22, 0 |
5b68: 04 c0 rjmp .+8 ; 0x5b72 <__fp_merge+0x24> |
5b6a: 6f 5f subi r22, 0xFF ; 255 |
5b6c: 7f 4f sbci r23, 0xFF ; 255 |
5b6e: 8f 4f sbci r24, 0xFF ; 255 |
5b70: 9f 4f sbci r25, 0xFF ; 255 |
5b72: 88 1f adc r24, r24 |
5b74: 97 95 ror r25 |
5b76: 87 95 ror r24 |
5b78: 97 f9 bld r25, 7 |
5b7a: 08 95 ret |
5b7c: 2c c0 rjmp .+88 ; 0x5bd6 <__fp_zero> |
00005b7e <__fp_nan>: |
5b7e: 9f ef ldi r25, 0xFF ; 255 |
5b80: 80 ec ldi r24, 0xC0 ; 192 |
5b82: 08 95 ret |
00005b84 <__fp_split3>: |
5b84: 05 2e mov r0, r21 |
5b86: 09 26 eor r0, r25 |
5b88: 07 fa bst r0, 7 |
00005b8a <__fp_split2>: |
5b8a: 44 0f add r20, r20 |
5b8c: 55 1f adc r21, r21 |
5b8e: 5f 3f cpi r21, 0xFF ; 255 |
5b90: 79 f0 breq .+30 ; 0x5bb0 <__fp_split1+0x14> |
5b92: aa 27 eor r26, r26 |
5b94: a5 17 cp r26, r21 |
5b96: 08 f0 brcs .+2 ; 0x5b9a <__fp_split2+0x10> |
5b98: 51 e0 ldi r21, 0x01 ; 1 |
5b9a: 47 95 ror r20 |
00005b9c <__fp_split1>: |
5b9c: 88 0f add r24, r24 |
5b9e: 99 1f adc r25, r25 |
5ba0: 9f 3f cpi r25, 0xFF ; 255 |
5ba2: 31 f0 breq .+12 ; 0x5bb0 <__fp_split1+0x14> |
5ba4: bb 27 eor r27, r27 |
5ba6: b9 17 cp r27, r25 |
5ba8: 08 f0 brcs .+2 ; 0x5bac <__fp_split1+0x10> |
5baa: 91 e0 ldi r25, 0x01 ; 1 |
5bac: 87 95 ror r24 |
5bae: 08 95 ret |
5bb0: 9f 91 pop r25 |
5bb2: 9f 91 pop r25 |
5bb4: 11 24 eor r1, r1 |
5bb6: e3 cf rjmp .-58 ; 0x5b7e <__fp_nan> |
00005bb8 <__fp_split_a>: |
5bb8: 97 fb bst r25, 7 |
5bba: 88 0f add r24, r24 |
5bbc: 99 1f adc r25, r25 |
5bbe: 9f 3f cpi r25, 0xFF ; 255 |
5bc0: 31 f0 breq .+12 ; 0x5bce <__fp_split_a+0x16> |
5bc2: bb 27 eor r27, r27 |
5bc4: b9 17 cp r27, r25 |
5bc6: 08 f0 brcs .+2 ; 0x5bca <__fp_split_a+0x12> |
5bc8: 91 e0 ldi r25, 0x01 ; 1 |
5bca: 87 95 ror r24 |
5bcc: 08 95 ret |
5bce: 9f 91 pop r25 |
5bd0: 9f 91 pop r25 |
5bd2: 11 24 eor r1, r1 |
5bd4: d4 cf rjmp .-88 ; 0x5b7e <__fp_nan> |
00005bd6 <__fp_zero>: |
5bd6: 66 27 eor r22, r22 |
5bd8: 77 27 eor r23, r23 |
5bda: 88 27 eor r24, r24 |
00005bdc <__fp_zerox>: |
5bdc: 99 27 eor r25, r25 |
5bde: 08 95 ret |
00005be0 <__mulsf3>: |
5be0: d1 df rcall .-94 ; 0x5b84 <__fp_split3> |
5be2: 01 d0 rcall .+2 ; 0x5be6 <__mulsf3x> |
5be4: b4 cf rjmp .-152 ; 0x5b4e <__fp_merge> |
00005be6 <__mulsf3x>: |
5be6: 99 23 and r25, r25 |
5be8: 39 f0 breq .+14 ; 0x5bf8 <__mulsf3x+0x12> |
5bea: 55 23 and r21, r21 |
5bec: 29 f0 breq .+10 ; 0x5bf8 <__mulsf3x+0x12> |
5bee: 9f 57 subi r25, 0x7F ; 127 |
5bf0: 5f 57 subi r21, 0x7F ; 127 |
5bf2: 95 0f add r25, r21 |
5bf4: 13 f4 brvc .+4 ; 0x5bfa <__mulsf3x+0x14> |
5bf6: 9a f1 brmi .+102 ; 0x5c5e <__mulsf3x+0x78> |
5bf8: f1 cf rjmp .-30 ; 0x5bdc <__fp_zerox> |
5bfa: 91 58 subi r25, 0x81 ; 129 |
5bfc: 9f 3f cpi r25, 0xFF ; 255 |
5bfe: e1 f3 breq .-8 ; 0x5bf8 <__mulsf3x+0x12> |
5c00: 62 9f mul r22, r18 |
5c02: a1 2d mov r26, r1 |
5c04: 0f 92 push r0 |
5c06: bb 27 eor r27, r27 |
5c08: 63 9f mul r22, r19 |
5c0a: a0 0d add r26, r0 |
5c0c: b1 1d adc r27, r1 |
5c0e: ee 27 eor r30, r30 |
5c10: 72 9f mul r23, r18 |
5c12: a0 0d add r26, r0 |
5c14: b1 1d adc r27, r1 |
5c16: ee 1f adc r30, r30 |
5c18: af 93 push r26 |
5c1a: aa 27 eor r26, r26 |
5c1c: 64 9f mul r22, r20 |
5c1e: b0 0d add r27, r0 |
5c20: e1 1d adc r30, r1 |
5c22: 73 9f mul r23, r19 |
5c24: b0 0d add r27, r0 |
5c26: e1 1d adc r30, r1 |
5c28: aa 1f adc r26, r26 |
5c2a: 66 27 eor r22, r22 |
5c2c: 82 9f mul r24, r18 |
5c2e: b0 0d add r27, r0 |
5c30: e1 1d adc r30, r1 |
5c32: a6 1f adc r26, r22 |
5c34: 55 27 eor r21, r21 |
5c36: 74 9f mul r23, r20 |
5c38: e0 0d add r30, r0 |
5c3a: a1 1d adc r26, r1 |
5c3c: 55 1f adc r21, r21 |
5c3e: 83 9f mul r24, r19 |
5c40: e0 0d add r30, r0 |
5c42: a1 1d adc r26, r1 |
5c44: 56 1f adc r21, r22 |
5c46: 84 9f mul r24, r20 |
5c48: a0 0d add r26, r0 |
5c4a: 51 1d adc r21, r1 |
5c4c: 85 2f mov r24, r21 |
5c4e: 7a 2f mov r23, r26 |
5c50: 6e 2f mov r22, r30 |
5c52: 1f 90 pop r1 |
5c54: 0f 90 pop r0 |
5c56: 88 23 and r24, r24 |
5c58: 1a f4 brpl .+6 ; 0x5c60 <__mulsf3x+0x7a> |
5c5a: 93 95 inc r25 |
5c5c: 39 f4 brne .+14 ; 0x5c6c <__mulsf3x+0x86> |
5c5e: 8f cf rjmp .-226 ; 0x5b7e <__fp_nan> |
5c60: 00 0c add r0, r0 |
5c62: 11 1c adc r1, r1 |
5c64: bb 1f adc r27, r27 |
5c66: 66 1f adc r22, r22 |
5c68: 77 1f adc r23, r23 |
5c6a: 88 1f adc r24, r24 |
5c6c: 01 28 or r0, r1 |
5c6e: 08 95 ret |
00005c70 <__mulsi3>: |
5c70: 62 9f mul r22, r18 |
5c72: d0 01 movw r26, r0 |
5c74: 73 9f mul r23, r19 |
5c76: f0 01 movw r30, r0 |
5c78: 82 9f mul r24, r18 |
5c7a: e0 0d add r30, r0 |
5c7c: f1 1d adc r31, r1 |
5c7e: 64 9f mul r22, r20 |
5c80: e0 0d add r30, r0 |
5c82: f1 1d adc r31, r1 |
5c84: 92 9f mul r25, r18 |
5c86: f0 0d add r31, r0 |
5c88: 83 9f mul r24, r19 |
5c8a: f0 0d add r31, r0 |
5c8c: 74 9f mul r23, r20 |
5c8e: f0 0d add r31, r0 |
5c90: 65 9f mul r22, r21 |
5c92: f0 0d add r31, r0 |
5c94: 99 27 eor r25, r25 |
5c96: 72 9f mul r23, r18 |
5c98: b0 0d add r27, r0 |
5c9a: e1 1d adc r30, r1 |
5c9c: f9 1f adc r31, r25 |
5c9e: 63 9f mul r22, r19 |
5ca0: b0 0d add r27, r0 |
5ca2: e1 1d adc r30, r1 |
5ca4: f9 1f adc r31, r25 |
5ca6: bd 01 movw r22, r26 |
5ca8: cf 01 movw r24, r30 |
5caa: 11 24 eor r1, r1 |
5cac: 08 95 ret |
00005cae <__udivmodhi4>: |
5cae: aa 1b sub r26, r26 |
5cb0: bb 1b sub r27, r27 |
5cb2: 51 e1 ldi r21, 0x11 ; 17 |
5cb4: 07 c0 rjmp .+14 ; 0x5cc4 <__udivmodhi4_ep> |
00005cb6 <__udivmodhi4_loop>: |
5cb6: aa 1f adc r26, r26 |
5cb8: bb 1f adc r27, r27 |
5cba: a6 17 cp r26, r22 |
5cbc: b7 07 cpc r27, r23 |
5cbe: 10 f0 brcs .+4 ; 0x5cc4 <__udivmodhi4_ep> |
5cc0: a6 1b sub r26, r22 |
5cc2: b7 0b sbc r27, r23 |
00005cc4 <__udivmodhi4_ep>: |
5cc4: 88 1f adc r24, r24 |
5cc6: 99 1f adc r25, r25 |
5cc8: 5a 95 dec r21 |
5cca: a9 f7 brne .-22 ; 0x5cb6 <__udivmodhi4_loop> |
5ccc: 80 95 com r24 |
5cce: 90 95 com r25 |
5cd0: bc 01 movw r22, r24 |
5cd2: cd 01 movw r24, r26 |
5cd4: 08 95 ret |
00005cd6 <__divmodhi4>: |
5cd6: 97 fb bst r25, 7 |
5cd8: 09 2e mov r0, r25 |
5cda: 07 26 eor r0, r23 |
5cdc: 0a d0 rcall .+20 ; 0x5cf2 <__divmodhi4_neg1> |
5cde: 77 fd sbrc r23, 7 |
5ce0: 04 d0 rcall .+8 ; 0x5cea <__divmodhi4_neg2> |
5ce2: e5 df rcall .-54 ; 0x5cae <__udivmodhi4> |
5ce4: 06 d0 rcall .+12 ; 0x5cf2 <__divmodhi4_neg1> |
5ce6: 00 20 and r0, r0 |
5ce8: 1a f4 brpl .+6 ; 0x5cf0 <__divmodhi4_exit> |
00005cea <__divmodhi4_neg2>: |
5cea: 70 95 com r23 |
5cec: 61 95 neg r22 |
5cee: 7f 4f sbci r23, 0xFF ; 255 |
00005cf0 <__divmodhi4_exit>: |
5cf0: 08 95 ret |
00005cf2 <__divmodhi4_neg1>: |
5cf2: f6 f7 brtc .-4 ; 0x5cf0 <__divmodhi4_exit> |
5cf4: 90 95 com r25 |
5cf6: 81 95 neg r24 |
5cf8: 9f 4f sbci r25, 0xFF ; 255 |
5cfa: 08 95 ret |
00005cfc <__udivmodsi4>: |
5cfc: a1 e2 ldi r26, 0x21 ; 33 |
5cfe: 1a 2e mov r1, r26 |
5d00: aa 1b sub r26, r26 |
5d02: bb 1b sub r27, r27 |
5d04: fd 01 movw r30, r26 |
5d06: 0d c0 rjmp .+26 ; 0x5d22 <__udivmodsi4_ep> |
00005d08 <__udivmodsi4_loop>: |
5d08: aa 1f adc r26, r26 |
5d0a: bb 1f adc r27, r27 |
5d0c: ee 1f adc r30, r30 |
5d0e: ff 1f adc r31, r31 |
5d10: a2 17 cp r26, r18 |
5d12: b3 07 cpc r27, r19 |
5d14: e4 07 cpc r30, r20 |
5d16: f5 07 cpc r31, r21 |
5d18: 20 f0 brcs .+8 ; 0x5d22 <__udivmodsi4_ep> |
5d1a: a2 1b sub r26, r18 |
5d1c: b3 0b sbc r27, r19 |
5d1e: e4 0b sbc r30, r20 |
5d20: f5 0b sbc r31, r21 |
00005d22 <__udivmodsi4_ep>: |
5d22: 66 1f adc r22, r22 |
5d24: 77 1f adc r23, r23 |
5d26: 88 1f adc r24, r24 |
5d28: 99 1f adc r25, r25 |
5d2a: 1a 94 dec r1 |
5d2c: 69 f7 brne .-38 ; 0x5d08 <__udivmodsi4_loop> |
5d2e: 60 95 com r22 |
5d30: 70 95 com r23 |
5d32: 80 95 com r24 |
5d34: 90 95 com r25 |
5d36: 9b 01 movw r18, r22 |
5d38: ac 01 movw r20, r24 |
5d3a: bd 01 movw r22, r26 |
5d3c: cf 01 movw r24, r30 |
5d3e: 08 95 ret |
00005d40 <__divmodsi4>: |
5d40: 97 fb bst r25, 7 |
5d42: 09 2e mov r0, r25 |
5d44: 05 26 eor r0, r21 |
5d46: 0e d0 rcall .+28 ; 0x5d64 <__divmodsi4_neg1> |
5d48: 57 fd sbrc r21, 7 |
5d4a: 04 d0 rcall .+8 ; 0x5d54 <__divmodsi4_neg2> |
5d4c: d7 df rcall .-82 ; 0x5cfc <__udivmodsi4> |
5d4e: 0a d0 rcall .+20 ; 0x5d64 <__divmodsi4_neg1> |
5d50: 00 1c adc r0, r0 |
5d52: 38 f4 brcc .+14 ; 0x5d62 <__divmodsi4_exit> |
00005d54 <__divmodsi4_neg2>: |
5d54: 50 95 com r21 |
5d56: 40 95 com r20 |
5d58: 30 95 com r19 |
5d5a: 21 95 neg r18 |
5d5c: 3f 4f sbci r19, 0xFF ; 255 |
5d5e: 4f 4f sbci r20, 0xFF ; 255 |
5d60: 5f 4f sbci r21, 0xFF ; 255 |
00005d62 <__divmodsi4_exit>: |
5d62: 08 95 ret |
00005d64 <__divmodsi4_neg1>: |
5d64: f6 f7 brtc .-4 ; 0x5d62 <__divmodsi4_exit> |
5d66: 90 95 com r25 |
5d68: 80 95 com r24 |
5d6a: 70 95 com r23 |
5d6c: 61 95 neg r22 |
5d6e: 7f 4f sbci r23, 0xFF ; 255 |
5d70: 8f 4f sbci r24, 0xFF ; 255 |
5d72: 9f 4f sbci r25, 0xFF ; 255 |
5d74: 08 95 ret |
00005d76 <__prologue_saves__>: |
5d76: 2f 92 push r2 |
5d78: 3f 92 push r3 |
5d7a: 4f 92 push r4 |
5d7c: 5f 92 push r5 |
5d7e: 6f 92 push r6 |
5d80: 7f 92 push r7 |
5d82: 8f 92 push r8 |
5d84: 9f 92 push r9 |
5d86: af 92 push r10 |
5d88: bf 92 push r11 |
5d8a: cf 92 push r12 |
5d8c: df 92 push r13 |
5d8e: ef 92 push r14 |
5d90: ff 92 push r15 |
5d92: 0f 93 push r16 |
5d94: 1f 93 push r17 |
5d96: cf 93 push r28 |
5d98: df 93 push r29 |
5d9a: cd b7 in r28, 0x3d ; 61 |
5d9c: de b7 in r29, 0x3e ; 62 |
5d9e: ca 1b sub r28, r26 |
5da0: db 0b sbc r29, r27 |
5da2: 0f b6 in r0, 0x3f ; 63 |
5da4: f8 94 cli |
5da6: de bf out 0x3e, r29 ; 62 |
5da8: 0f be out 0x3f, r0 ; 63 |
5daa: cd bf out 0x3d, r28 ; 61 |
5dac: 09 94 ijmp |
00005dae <__epilogue_restores__>: |
5dae: 2a 88 ldd r2, Y+18 ; 0x12 |
5db0: 39 88 ldd r3, Y+17 ; 0x11 |
5db2: 48 88 ldd r4, Y+16 ; 0x10 |
5db4: 5f 84 ldd r5, Y+15 ; 0x0f |
5db6: 6e 84 ldd r6, Y+14 ; 0x0e |
5db8: 7d 84 ldd r7, Y+13 ; 0x0d |
5dba: 8c 84 ldd r8, Y+12 ; 0x0c |
5dbc: 9b 84 ldd r9, Y+11 ; 0x0b |
5dbe: aa 84 ldd r10, Y+10 ; 0x0a |
5dc0: b9 84 ldd r11, Y+9 ; 0x09 |
5dc2: c8 84 ldd r12, Y+8 ; 0x08 |
5dc4: df 80 ldd r13, Y+7 ; 0x07 |
5dc6: ee 80 ldd r14, Y+6 ; 0x06 |
5dc8: fd 80 ldd r15, Y+5 ; 0x05 |
5dca: 0c 81 ldd r16, Y+4 ; 0x04 |
5dcc: 1b 81 ldd r17, Y+3 ; 0x03 |
5dce: aa 81 ldd r26, Y+2 ; 0x02 |
5dd0: b9 81 ldd r27, Y+1 ; 0x01 |
5dd2: ce 0f add r28, r30 |
5dd4: d1 1d adc r29, r1 |
5dd6: 0f b6 in r0, 0x3f ; 63 |
5dd8: f8 94 cli |
5dda: de bf out 0x3e, r29 ; 62 |
5ddc: 0f be out 0x3f, r0 ; 63 |
5dde: cd bf out 0x3d, r28 ; 61 |
5de0: ed 01 movw r28, r26 |
5de2: 08 95 ret |
00005de4 <__tablejump2__>: |
5de4: ee 0f add r30, r30 |
5de6: ff 1f adc r31, r31 |
00005de8 <__tablejump__>: |
5de8: 05 90 lpm r0, Z+ |
5dea: f4 91 lpm r31, Z |
5dec: e0 2d mov r30, r0 |
5dee: 09 94 ijmp |
00005df0 <__eeprom_read_byte_1F2021>: |
5df0: f9 99 sbic 0x1f, 1 ; 31 |
5df2: fe cf rjmp .-4 ; 0x5df0 <__eeprom_read_byte_1F2021> |
5df4: b2 bd out 0x22, r27 ; 34 |
5df6: a1 bd out 0x21, r26 ; 33 |
5df8: f8 9a sbi 0x1f, 0 ; 31 |
5dfa: 11 96 adiw r26, 0x01 ; 1 |
5dfc: 00 b4 in r0, 0x20 ; 32 |
5dfe: 08 95 ret |
00005e00 <__eeprom_read_block_1F2021>: |
5e00: f7 df rcall .-18 ; 0x5df0 <__eeprom_read_byte_1F2021> |
5e02: 01 92 st Z+, r0 |
5e04: 1a 94 dec r1 |
5e06: e1 f7 brne .-8 ; 0x5e00 <__eeprom_read_block_1F2021> |
5e08: 08 95 ret |
00005e0a <__eeprom_write_byte_1F2021>: |
5e0a: f9 99 sbic 0x1f, 1 ; 31 |
5e0c: fe cf rjmp .-4 ; 0x5e0a <__eeprom_write_byte_1F2021> |
5e0e: b2 bd out 0x22, r27 ; 34 |
5e10: a1 bd out 0x21, r26 ; 33 |
5e12: 00 bc out 0x20, r0 ; 32 |
5e14: 11 96 adiw r26, 0x01 ; 1 |
5e16: 0f b6 in r0, 0x3f ; 63 |
5e18: f8 94 cli |
5e1a: fa 9a sbi 0x1f, 2 ; 31 |
5e1c: f9 9a sbi 0x1f, 1 ; 31 |
5e1e: 0f be out 0x3f, r0 ; 63 |
5e20: 08 95 ret |
00005e22 <__eeprom_write_block_1F2021>: |
5e22: 01 90 ld r0, Z+ |
5e24: f2 df rcall .-28 ; 0x5e0a <__eeprom_write_byte_1F2021> |
5e26: 1a 94 dec r1 |
5e28: e1 f7 brne .-8 ; 0x5e22 <__eeprom_write_block_1F2021> |
5e2a: 08 95 ret |
00005e2c <_exit>: |
5e2c: ff cf rjmp .-2 ; 0x5e2c <_exit> |
/branches/v0.60_MicroMag3_Nick666/trunc/Flight-Ctrl_MEGA644_V0_60_MM3.map |
---|
0,0 → 1,1755 |
Archive member included because of file (symbol) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
analog.o (__subsf3) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) (__addsf3x) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) |
math.o (__divsf3) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) (__divsf3x) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
analog.o (__fixsfsi) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o) |
analog.o (__floatsisf) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
analog.o (__ltsf2) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) (__fp_merge) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) (__fp_nanx) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) (__fp_split3) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) (__fp_zero) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) |
compass.o (__mulsf3) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) (__mulsf3x) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o) |
timer0.o (__mulsi3) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o) |
analog.o (__udivmodhi4) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o) |
timer0.o (__divmodhi4) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o) |
printf_P.o (__udivmodsi4) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o) |
timer0.o (__divmodsi4) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o) |
uart.o (__prologue_saves__) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o) |
uart.o (__epilogue_restores__) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o (exit) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o) |
uart.o (__tablejump2__) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
main.o (__do_copy_data) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o) |
main.o (__do_clear_bss) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o) |
printf_P.o (memchr) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o) |
main.o (__eeprom_read_byte_1F2021) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o) |
compass.o (__eeprom_read_block_1F2021) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o) |
main.o (__eeprom_write_byte_1F2021) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o) |
compass.o (__eeprom_write_block_1F2021) |
Allocating common symbols |
Common symbol size file |
MeineSlaveAdresse 0x1 uart.o |
EE_Parameter 0x3a fc.o |
DiffRoll 0x2 main.o |
MesswertRoll 0x2 fc.o |
Motor_Vorne 0x1 main.o |
Motor_Hinten 0x1 main.o |
MesswertNick 0x2 fc.o |
Aktuell_ay 0x2 analog.o |
MIN_GAS 0x1 fc.o |
SendeBuffer 0x96 uart.o |
NMEABuffer 0x96 uart.o |
Mittelwert_AccHoch 0x2 fc.o |
Debug_Timer 0x2 uart.o |
DiffNick 0x2 main.o |
DebugIn 0xb uart.o |
VersionInfo 0xa uart.o |
motor_rx 0x8 twimaster.o |
MM3_calib 0x3 compass.o |
PPM_in 0x16 rc.o |
IntegralFaktor 0x4 fc.o |
Motor_Rechts 0x1 main.o |
Count 0x1 main.o |
Aktuell_az 0x2 analog.o |
StartLuftdruck 0x2 analog.o |
RxdBuffer 0x96 uart.o |
acc_neutral 0x8 fc.o |
PrintZiel 0x1 printf_P.o |
Aktuell_Nick 0x2 analog.o |
messanzahl_Druck 0x1 analog.o |
Motor_Links 0x1 main.o |
Aktuell_Roll 0x2 analog.o |
Aktuell_ax 0x2 analog.o |
s 0x1 main.o |
h 0x1 main.o |
Mittelwert_AccNick 0x2 fc.o |
DebugOut 0x32 uart.o |
DruckOffsetSetting 0x1 analog.o |
Aktuell_Gier 0x2 analog.o |
MM3 0x14 compass.o |
MAX_GAS 0x1 fc.o |
MesswertGier 0x2 fc.o |
GyroFaktor 0x4 fc.o |
m 0x1 main.o |
Mittelwert_AccRoll 0x2 fc.o |
MotorWert 0x5 main.o |
PPM_diff 0x16 rc.o |
tmpLuftdruck 0x2 analog.o |
Discarded input sections |
.stabstr 0x00000000 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
Memory Configuration |
Name Origin Length Attributes |
text 0x00000000 0x00020000 xr |
data 0x00800060 0x0000ffa0 rw !x |
eeprom 0x00810000 0x00010000 rw !x |
*default* 0x00000000 0xffffffff |
Linker script and memory map |
Address of section .data set to 0x800100 |
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
LOAD main.o |
LOAD uart.o |
LOAD printf_P.o |
LOAD timer0.o |
LOAD analog.o |
LOAD menu.o |
LOAD compass.o |
LOAD math.o |
LOAD twimaster.o |
LOAD rc.o |
LOAD fc.o |
LOAD GPS.o |
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a |
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a |
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a |
LOAD c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a |
.hash |
*(.hash) |
.dynsym |
*(.dynsym) |
.dynstr |
*(.dynstr) |
.gnu.version |
*(.gnu.version) |
.gnu.version_d |
*(.gnu.version_d) |
.gnu.version_r |
*(.gnu.version_r) |
.rel.init |
*(.rel.init) |
.rela.init |
*(.rela.init) |
.rel.text |
*(.rel.text) |
*(.rel.text.*) |
*(.rel.gnu.linkonce.t*) |
.rela.text |
*(.rela.text) |
*(.rela.text.*) |
*(.rela.gnu.linkonce.t*) |
.rel.fini |
*(.rel.fini) |
.rela.fini |
*(.rela.fini) |
.rel.rodata |
*(.rel.rodata) |
*(.rel.rodata.*) |
*(.rel.gnu.linkonce.r*) |
.rela.rodata |
*(.rela.rodata) |
*(.rela.rodata.*) |
*(.rela.gnu.linkonce.r*) |
.rel.data |
*(.rel.data) |
*(.rel.data.*) |
*(.rel.gnu.linkonce.d*) |
.rela.data |
*(.rela.data) |
*(.rela.data.*) |
*(.rela.gnu.linkonce.d*) |
.rel.ctors |
*(.rel.ctors) |
.rela.ctors |
*(.rela.ctors) |
.rel.dtors |
*(.rel.dtors) |
.rela.dtors |
*(.rela.dtors) |
.rel.got |
*(.rel.got) |
.rela.got |
*(.rela.got) |
.rel.bss |
*(.rel.bss) |
.rela.bss |
*(.rela.bss) |
.rel.plt |
*(.rel.plt) |
.rela.plt |
*(.rela.plt) |
.text 0x00000000 0x5e2e |
*(.vectors) |
.vectors 0x00000000 0x70 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
0x00000000 __vectors |
0x00000000 __vector_default |
*(.vectors) |
*(.progmem.gcc*) |
.progmem.gcc_sw_table |
0x00000070 0x28 uart.o |
.progmem.gcc_sw_table |
0x00000098 0x10 analog.o |
.progmem.gcc_sw_table |
0x000000a8 0x18 menu.o |
.progmem.gcc_sw_table |
0x000000c0 0x10 twimaster.o |
*(.progmem*) |
.progmem.data 0x000000d0 0xf9 main.o |
.progmem.data 0x000001c9 0x2 analog.o |
.progmem.data 0x000001cb 0x2ac menu.o |
.progmem.data 0x00000477 0x343 math.o |
0x000006f1 pgm_asin |
0x00000585 pgm_sinus_f |
0x00000477 pgm_atan |
0x000007ba . = ALIGN (0x2) |
0x000007ba __trampolines_start = . |
*(.trampolines) |
.trampolines 0x000007ba 0x0 linker stubs |
*(.trampolines*) |
0x000007ba __trampolines_end = . |
*(.jumptables) |
*(.jumptables*) |
*(.lowtext) |
*(.lowtext*) |
0x000007ba __ctors_start = . |
*(.ctors) |
0x000007ba __ctors_end = . |
0x000007ba __dtors_start = . |
*(.dtors) |
0x000007ba __dtors_end = . |
SORT(*)(.ctors) |
SORT(*)(.dtors) |
*(.init0) |
.init0 0x000007ba 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
0x000007ba __init |
*(.init0) |
*(.init1) |
*(.init1) |
*(.init2) |
.init2 0x000007ba 0xc c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
*(.init2) |
*(.init3) |
*(.init3) |
*(.init4) |
.init4 0x000007c6 0x16 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
0x000007c6 __do_copy_data |
.init4 0x000007dc 0x10 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o) |
0x000007dc __do_clear_bss |
*(.init4) |
*(.init5) |
*(.init5) |
*(.init6) |
*(.init6) |
*(.init7) |
*(.init7) |
*(.init8) |
*(.init8) |
*(.init9) |
.init9 0x000007ec 0x8 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
*(.init9) |
*(.text) |
.text 0x000007f4 0x4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
0x000007f4 __vector_1 |
0x000007f4 __bad_interrupt |
0x000007f4 __vector_6 |
0x000007f4 __vector_3 |
0x000007f4 __vector_23 |
0x000007f4 __vector_25 |
0x000007f4 __vector_11 |
0x000007f4 __vector_13 |
0x000007f4 __vector_17 |
0x000007f4 __vector_7 |
0x000007f4 __vector_27 |
0x000007f4 __vector_5 |
0x000007f4 __vector_4 |
0x000007f4 __vector_2 |
0x000007f4 __vector_21 |
0x000007f4 __vector_15 |
0x000007f4 __vector_8 |
0x000007f4 __vector_14 |
0x000007f4 __vector_10 |
0x000007f4 __vector_16 |
.text 0x000007f8 0x3dc main.o |
0x00000806 WriteParameterSet |
0x00000836 ReadParameterSet |
0x00000862 main |
0x000007f8 GetActiveParamSetNumber |
.text 0x00000bd4 0x65a uart.o |
0x00000bd4 __vector_22 |
0x00000fde WriteProgramData |
0x00000fe0 UART_Init |
0x000010f2 BearbeiteRxDaten |
0x00000de4 AddCRC |
0x00001016 DatenUebertragung |
0x00000f0c Decode64 |
0x00000e40 SendOutData |
0x00000c40 __vector_20 |
0x00000fbc uart_putchar |
.text 0x0000122e 0x5a4 printf_P.o |
0x0000122e Putchar |
0x000012e0 _printf_P |
0x00001260 PAD_0 |
0x0000128c PRINTP |
0x000012b8 PRINT |
0x00001276 PAD_SP |
.text 0x000017d2 0x30a timer0.o |
0x000017d2 SetDelay |
0x00001a6c Timer_Init |
0x000017e4 CheckDelay |
0x00001ab8 Delay_ms |
0x000017fc __vector_9 |
0x0000194a __vector_18 |
.text 0x00001adc 0x654 analog.o |
0x00001ae8 __vector_24 |
0x00001adc ADC_Init |
0x000020e2 SucheLuftruckOffset |
.text 0x00002130 0x7dc menu.o |
0x00002130 LcdClear |
0x00002142 Menu |
.text 0x0000290c 0x4e8 compass.o |
0x00002cba calib_MM3 |
0x00002a6c MM3_heading |
0x0000290c __vector_19 |
0x00002dcc MM3_init |
0x00002c52 MM3_timer0 |
.text 0x00002df4 0x276 math.o |
0x00002df4 atan2_i |
0x00003034 cos_f |
0x00002f58 pgm_read_float |
0x00003044 asin_i |
0x00002f6c sin_f |
.text 0x0000306a 0x158 twimaster.o |
0x00003076 i2c_start |
0x00003082 i2c_stop |
0x0000306a i2c_init |
0x0000309e __vector_26 |
0x0000308a i2c_write_byte |
.text 0x000031c2 0x168 rc.o |
0x000031ec __vector_12 |
0x000031c2 rc_sum_init |
.text 0x0000332a 0x2608 fc.o |
0x0000446a Neutral_calib |
0x00004158 DefaultKonstanten1 |
0x00004238 SendMotorData |
0x0000332a Mittelwert |
0x0000450a Piep |
0x000038ac CalibrierMittelwert |
0x000042c6 SetNeutral |
0x0000407e DefaultKonstanten2 |
0x00003be4 ParameterZuordnung |
0x00004534 MotorRegler |
.text 0x00005932 0x54 GPS.o |
0x00005932 GPS_Neutral |
0x00005974 GPS_BerechneZielrichtung |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
.text 0x00005986 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o) |
.text 0x00005986 0x1a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o) |
0x00005986 memchr |
.text 0x000059a0 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o) |
.text 0x000059a0 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o) |
.text 0x000059a0 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o) |
.text 0x000059a0 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o) |
0x000059a0 . = ALIGN (0x2) |
*(.text.*) |
.text.fplib 0x000059a0 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
0x000059a0 __subsf3 |
0x000059a2 __addsf3 |
.text.fplib 0x000059aa 0x7c c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o) |
0x000059aa __addsf3x |
.text.fplib 0x00005a26 0x6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) |
0x00005a26 __divsf3 |
.text.fplib 0x00005a2c 0x86 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) |
0x00005a2c __divsf3x |
.text.fplib 0x00005ab2 0x36 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
0x00005ab2 __fixsfsi |
0x00005ad8 __fp_lneg |
0x00005ab2 __fixunssfsi |
.text.fplib 0x00005ae8 0x18 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o) |
0x00005aec __floatsisf |
0x00005ae8 __floatunssisf |
.text.fplib 0x00005b00 0x44 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
0x00005b00 __lesf2 |
0x00005b00 __nesf2 |
0x00005b06 __gtsf2 |
0x00005b00 __eqsf2 |
0x00005b0c __cmpsf2 |
0x00005b00 __ltsf2 |
0x00005b06 __gesf2 |
.text.fplib 0x00005b44 0x3a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o) |
0x00005b4e __fp_merge |
.text.fplib 0x00005b7e 0x6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o) |
0x00005b7e __fp_nanERANGE |
0x00005b7e __fp_nan |
0x00005b7e __fp_nanEDOM |
0x00005b7e __fp_nanx |
.text.fplib 0x00005b84 0x52 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
0x00005b84 __fp_split3 |
0x00005b8a __fp_split2 |
0x00005b9c __fp_split1 |
0x00005bb8 __fp_split_a |
.text.fplib 0x00005bd6 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o) |
0x00005bd6 __fp_zero |
0x00005bdc __fp_zerox |
.text.fplib 0x00005be0 0x6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) |
0x00005be0 __mulsf3 |
.text.fplib 0x00005be6 0x8a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o) |
0x00005be6 __mulsf3x |
.text.libgcc 0x00005c70 0x3e c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o) |
0x00005c70 __mulsi3 |
.text.libgcc 0x00005cae 0x28 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o) |
0x00005cae __udivmodhi4 |
.text.libgcc 0x00005cd6 0x26 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o) |
0x00005cd6 __divmodhi4 |
0x00005cd6 _div |
.text.libgcc 0x00005cfc 0x44 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o) |
0x00005cfc __udivmodsi4 |
.text.libgcc 0x00005d40 0x36 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o) |
0x00005d40 __divmodsi4 |
.text.libgcc 0x00005d76 0x38 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o) |
0x00005d76 __prologue_saves__ |
.text.libgcc 0x00005dae 0x36 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o) |
0x00005dae __epilogue_restores__ |
.text.libgcc 0x00005de4 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o) |
.text.libgcc 0x00005de4 0xc c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o) |
0x00005de8 __tablejump__ |
0x00005de4 __tablejump2__ |
.text.libgcc 0x00005df0 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
.text.libgcc 0x00005df0 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o) |
.text.eeprom 0x00005df0 0x10 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o) |
0x00005df0 __eeprom_read_byte_1F2021 |
.text.eeprom 0x00005e00 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o) |
0x00005e00 __eeprom_read_block_1F2021 |
.text.eeprom 0x00005e0a 0x18 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o) |
0x00005e0a __eeprom_write_byte_1F2021 |
.text.eeprom 0x00005e22 0xa c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o) |
0x00005e22 __eeprom_write_block_1F2021 |
0x00005e2c . = ALIGN (0x2) |
*(.fini9) |
.fini9 0x00005e2c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o) |
0x00005e2c exit |
0x00005e2c _exit |
*(.fini9) |
*(.fini8) |
*(.fini8) |
*(.fini7) |
*(.fini7) |
*(.fini6) |
*(.fini6) |
*(.fini5) |
*(.fini5) |
*(.fini4) |
*(.fini4) |
*(.fini3) |
*(.fini3) |
*(.fini2) |
*(.fini2) |
*(.fini1) |
*(.fini1) |
*(.fini0) |
.fini0 0x00005e2c 0x2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o) |
*(.fini0) |
0x00005e2e _etext = . |
.data 0x00800100 0x8c load address 0x00005e2e |
0x00800100 PROVIDE (__data_start, .) |
*(.data) |
.data 0x00800100 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
.data 0x00800100 0x0 main.o |
.data 0x00800100 0x2 uart.o |
0x00800101 PcZugriff |
0x00800100 UebertragungAbgeschlossen |
.data 0x00800102 0x0 printf_P.o |
.data 0x00800102 0x4 timer0.o |
0x00800102 cntKompass |
.data 0x00800106 0x8 analog.o |
0x00800106 UBat |
0x0080010c MessLuftdruck |
0x00800108 Luftdruck |
.data 0x0080010e 0x5b menu.o |
0x0080010e Array |
0x00800118 DisplayBuff |
.data 0x00800169 0x0 compass.o |
.data 0x00800169 0x0 math.o |
.data 0x00800169 0x0 twimaster.o |
.data 0x00800169 0x1 rc.o |
0x00800169 NewPpmData |
.data 0x0080016a 0x22 fc.o |
0x0080017e Ki |
0x00800182 Parameter_Luftdruck_D |
0x00800186 Parameter_KompassWirkung |
0x0080018b Parameter_ServoNickControl |
0x00800187 Parameter_Gyro_P |
0x00800184 Parameter_Hoehe_P |
0x00800185 Parameter_Hoehe_ACC_Wirkung |
0x00800188 Parameter_Gyro_I |
0x00800183 Parameter_MaxHoehe |
0x0080018a Parameter_I_Faktor |
0x0080017a Kp |
0x00800189 Parameter_Gier_P |
.data 0x0080018c 0x0 GPS.o |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o) |
.data 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o) |
*(.data*) |
*(.rodata) |
*(.rodata*) |
*(.gnu.linkonce.d*) |
0x0080018c . = ALIGN (0x2) |
0x0080018c _edata = . |
0x0080018c PROVIDE (__data_end, .) |
.bss 0x0080018c 0x3a8 |
0x0080018c PROVIDE (__bss_start, .) |
*(.bss) |
.bss 0x0080018c 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
.bss 0x0080018c 0x0 main.o |
.bss 0x0080018c 0x17 uart.o |
0x0080018c DebugGetAnforderung |
0x00800190 SioTmp |
0x00800195 PC_DebugTimeout |
0x0080018f GetVersionAnforderung |
0x00800192 NeueKoordinateEmpfangen |
0x0080018e DebugDataAnforderung |
0x00800196 MotorTest |
0x00800191 NeuerDatensatzEmpfangen |
0x0080018d DebugDisplayAnforderung |
0x00800193 CntCrcError |
0x00800194 AnzahlEmpfangsBytes |
.bss 0x008001a3 0x0 printf_P.o |
.bss 0x008001a3 0xa timer0.o |
0x008001a6 beeptime |
0x008001a3 CountMilliseconds |
0x008001a5 UpdateMotor |
0x008001a8 ServoValue |
.bss 0x008001ad 0x18 analog.o |
0x008001bf HoeheD |
0x008001b1 AccumulateGier |
0x008001bc messanzahl_AccNick |
0x008001be messanzahl_AccHoch |
0x008001af AccumulateRoll |
0x008001c1 ZaehlMessungen |
0x008001b7 accumulate_AccHoch |
0x008001bd messanzahl_AccRoll |
0x008001b3 accumulate_AccRoll |
0x008001b9 MessanzahlNick |
0x008001bb MessanzahlGier |
0x008001b5 accumulate_AccNick |
0x008001ad AccumulateNick |
0x008001ba MessanzahlRoll |
.bss 0x008001c5 0x5 menu.o |
0x008001c7 DispPtr |
0x008001c8 RemoteTasten |
0x008001c5 TestInt |
.bss 0x008001ca 0x0 compass.o |
.bss 0x008001ca 0x0 math.o |
.bss 0x008001ca 0x3 twimaster.o |
0x008001ca twi_state |
0x008001cc motorread |
0x008001cb motor |
.bss 0x008001cd 0x4 rc.o |
.bss 0x008001d1 0x7c fc.o |
0x00800202 Mess_Integral_Gier2 |
0x0080021f StickGier |
0x008001f2 Mess_IntegralNick2 |
0x008001de IntegralNick2 |
0x0080021a SenderOkay |
0x008001ea Integral_Gier |
0x0080021b StickNick |
0x00800214 Poti2 |
0x00800221 MotorenEin |
0x008001d8 CosinusNickWinkel |
0x00800222 HoehenWert |
0x008001fa Mess_IntegralRoll2 |
0x00800216 Poti3 |
0x00800226 Parameter_UserParam1 |
0x008001d4 AdNeutralRoll |
0x00800210 Notlandung |
0x008001da IntegralNick |
0x00800206 Mess_Integral_Hoch |
0x008001fe Mess_Integral_Gier |
0x00800229 Parameter_UserParam4 |
0x0080020c KompassStartwert |
0x00800227 Parameter_UserParam2 |
0x0080020a KompassValue |
0x0080020e KompassRichtung |
0x008001f6 Mess_IntegralRoll |
0x0080021d StickRoll |
0x008001d2 AdNeutralNick |
0x008001d1 Timeout |
0x008001e6 IntegralRoll2 |
0x00800212 Poti1 |
0x00800228 Parameter_UserParam3 |
0x008001d6 AdNeutralGier |
0x008001d9 CosinusRollWinkel |
0x00800211 HoehenReglerAktiv |
0x00800224 SollHoehe |
0x00800218 Poti4 |
0x008001ee Mess_IntegralNick |
0x008001e2 IntegralRoll |
.bss 0x0080024d 0x14 GPS.o |
0x00800259 GpsZiel_X |
0x00800255 GpsAktuell_Y |
0x0080024d GPS_Nick |
0x00800251 GpsAktuell_X |
0x0080025d GpsZiel_Y |
0x0080024f GPS_Roll |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o) |
.bss 0x00800261 0x0 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o) |
*(.bss*) |
*(COMMON) |
COMMON 0x00800261 0x11 main.o |
0x00800261 DiffRoll |
0x00800263 Motor_Vorne |
0x00800264 Motor_Hinten |
0x00800265 DiffNick |
0x00800267 Motor_Rechts |
0x00800268 Count |
0x00800269 Motor_Links |
0x0080026a s |
0x0080026b h |
0x0080026c m |
0x0080026d MotorWert |
COMMON 0x00800272 0x20c uart.o |
0x00800272 MeineSlaveAdresse |
0x00800273 SendeBuffer |
0x00800309 NMEABuffer |
0x0080039f Debug_Timer |
0x008003a1 DebugIn |
0x008003ac VersionInfo |
0x008003b6 RxdBuffer |
0x0080044c DebugOut |
COMMON 0x0080047e 0x1 printf_P.o |
0x0080047e PrintZiel |
COMMON 0x0080047f 0x12 analog.o |
0x0080047f Aktuell_ay |
0x00800481 Aktuell_az |
0x00800483 StartLuftdruck |
0x00800485 Aktuell_Nick |
0x00800487 messanzahl_Druck |
0x00800488 Aktuell_Roll |
0x0080048a Aktuell_ax |
0x0080048c DruckOffsetSetting |
0x0080048d Aktuell_Gier |
0x0080048f tmpLuftdruck |
COMMON 0x00800491 0x17 compass.o |
0x00800491 MM3_calib |
0x00800494 MM3 |
COMMON 0x008004a8 0x8 twimaster.o |
0x008004a8 motor_rx |
COMMON 0x008004b0 0x2c rc.o |
0x008004b0 PPM_in |
0x008004c6 PPM_diff |
COMMON 0x008004dc 0x58 fc.o |
0x008004dc EE_Parameter |
0x00800516 MesswertRoll |
0x00800518 MesswertNick |
0x0080051a MIN_GAS |
0x0080051b Mittelwert_AccHoch |
0x0080051d IntegralFaktor |
0x00800521 acc_neutral |
0x00800529 Mittelwert_AccNick |
0x0080052b MAX_GAS |
0x0080052c MesswertGier |
0x0080052e GyroFaktor |
0x00800532 Mittelwert_AccRoll |
0x00800534 PROVIDE (__bss_end, .) |
0x00005e2e __data_load_start = LOADADDR (.data) |
0x00005eba __data_load_end = (__data_load_start + SIZEOF (.data)) |
.noinit 0x00800534 0x0 |
0x00800534 PROVIDE (__noinit_start, .) |
*(.noinit*) |
0x00800534 PROVIDE (__noinit_end, .) |
0x00800534 _end = . |
0x00800534 PROVIDE (__heap_start, .) |
.eeprom 0x00810000 0x200 |
*(.eeprom*) |
.eeprom 0x00810000 0x1f5 main.o |
0x00810000 EEPromArray |
.eeprom 0x008101f5 0x3 compass.o |
0x008101f5 ee_calib |
.eeprom 0x008101f8 0x8 fc.o |
0x008101f8 ee_acc_neutral |
0x00810200 __eeprom_end = . |
.stab 0x00000000 0x378 |
*(.stab) |
.stab 0x00000000 0x378 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
.stabstr 0x00000000 0x71 |
*(.stabstr) |
.stabstr 0x00000000 0x71 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
.stab.excl |
*(.stab.excl) |
.stab.exclstr |
*(.stab.exclstr) |
.stab.index |
*(.stab.index) |
.stab.indexstr |
*(.stab.indexstr) |
.comment |
*(.comment) |
.debug |
*(.debug) |
.line |
*(.line) |
.debug_srcinfo |
*(.debug_srcinfo) |
.debug_sfnames |
*(.debug_sfnames) |
.debug_aranges |
*(.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(Flight-Ctrl_MEGA644_V0_60_MM3.elf elf32-avr) |
LOAD linker stubs |
Cross Reference Table |
Symbol File |
ADC_Init analog.o |
main.o |
AccumulateGier analog.o |
fc.o |
menu.o |
AccumulateNick analog.o |
fc.o |
menu.o |
AccumulateRoll analog.o |
fc.o |
menu.o |
AdNeutralGier fc.o |
rc.o |
menu.o |
analog.o |
AdNeutralNick fc.o |
rc.o |
menu.o |
analog.o |
AdNeutralRoll fc.o |
rc.o |
menu.o |
analog.o |
AddCRC uart.o |
Aktuell_Gier analog.o |
Aktuell_Nick analog.o |
Aktuell_Roll analog.o |
Aktuell_ax analog.o |
Aktuell_ay analog.o |
Aktuell_az fc.o |
menu.o |
analog.o |
AnzahlEmpfangsBytes uart.o |
Array menu.o |
BearbeiteRxDaten uart.o |
main.o |
CalibrierMittelwert fc.o |
CheckDelay timer0.o |
fc.o |
compass.o |
uart.o |
main.o |
CntCrcError uart.o |
CosinusNickWinkel fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
CosinusRollWinkel fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Count GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
CountMilliseconds timer0.o |
DatenUebertragung uart.o |
main.o |
DebugDataAnforderung uart.o |
DebugDisplayAnforderung uart.o |
DebugGetAnforderung uart.o |
DebugIn uart.o |
main.o |
DebugOut fc.o |
uart.o |
Debug_Timer uart.o |
Decode64 uart.o |
DefaultKonstanten1 fc.o |
main.o |
DefaultKonstanten2 fc.o |
main.o |
Delay_ms timer0.o |
fc.o |
analog.o |
DiffNick GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
DiffRoll GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
DispPtr menu.o |
printf_P.o |
DisplayBuff menu.o |
printf_P.o |
uart.o |
DruckOffsetSetting menu.o |
analog.o |
EEPromArray main.o |
fc.o |
uart.o |
EE_Parameter fc.o |
compass.o |
menu.o |
timer0.o |
uart.o |
main.o |
GPS_BerechneZielrichtung GPS.o |
GPS_Neutral GPS.o |
fc.o |
GPS_Nick GPS.o |
fc.o |
GPS_Roll GPS.o |
fc.o |
GetActiveParamSetNumber main.o |
fc.o |
menu.o |
uart.o |
GetVersionAnforderung uart.o |
GpsAktuell_X GPS.o |
GpsAktuell_Y GPS.o |
GpsZiel_X GPS.o |
GpsZiel_Y GPS.o |
GyroFaktor fc.o |
HoeheD analog.o |
fc.o |
HoehenReglerAktiv fc.o |
HoehenWert fc.o |
menu.o |
analog.o |
IntegralFaktor fc.o |
IntegralNick fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
IntegralNick2 fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
IntegralRoll fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
IntegralRoll2 fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Integral_Gier fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Ki fc.o |
KompassRichtung fc.o |
menu.o |
timer0.o |
KompassStartwert fc.o |
menu.o |
timer0.o |
KompassValue fc.o |
menu.o |
timer0.o |
Kp fc.o |
LcdClear menu.o |
main.o |
Luftdruck analog.o |
fc.o |
MAX_GAS fc.o |
MIN_GAS fc.o |
MM3 fc.o |
compass.o |
MM3_calib compass.o |
menu.o |
MM3_heading compass.o |
timer0.o |
MM3_init compass.o |
main.o |
MM3_timer0 compass.o |
timer0.o |
MeineSlaveAdresse uart.o |
Menu menu.o |
uart.o |
MessLuftdruck analog.o |
fc.o |
menu.o |
Mess_IntegralNick fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Mess_IntegralNick2 fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Mess_IntegralRoll fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Mess_IntegralRoll2 fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Mess_Integral_Gier fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Mess_Integral_Gier2 fc.o |
analog.o |
Mess_Integral_Hoch fc.o |
analog.o |
MessanzahlGier analog.o |
fc.o |
menu.o |
MessanzahlNick analog.o |
fc.o |
menu.o |
MessanzahlRoll analog.o |
fc.o |
menu.o |
MesswertGier fc.o |
MesswertNick fc.o |
MesswertRoll fc.o |
Mittelwert fc.o |
Mittelwert_AccHoch fc.o |
Mittelwert_AccNick fc.o |
Mittelwert_AccRoll fc.o |
MotorRegler fc.o |
main.o |
MotorTest uart.o |
fc.o |
MotorWert GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Motor_Hinten GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Motor_Links GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Motor_Rechts GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Motor_Vorne GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
MotorenEin fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
NMEABuffer uart.o |
NeueKoordinateEmpfangen uart.o |
NeuerDatensatzEmpfangen uart.o |
Neutral_calib fc.o |
main.o |
NewPpmData rc.o |
fc.o |
Notlandung fc.o |
PAD_0 printf_P.o |
PAD_SP printf_P.o |
PC_DebugTimeout uart.o |
PPM_diff fc.o |
rc.o |
PPM_in fc.o |
rc.o |
compass.o |
menu.o |
main.o |
PRINT printf_P.o |
PRINTP printf_P.o |
ParameterZuordnung fc.o |
Parameter_Gier_P fc.o |
Parameter_Gyro_I fc.o |
Parameter_Gyro_P fc.o |
Parameter_Hoehe_ACC_Wirkung fc.o |
Parameter_Hoehe_P fc.o |
Parameter_I_Faktor fc.o |
Parameter_KompassWirkung fc.o |
Parameter_Luftdruck_D fc.o |
Parameter_MaxHoehe fc.o |
Parameter_ServoNickControl fc.o |
menu.o |
timer0.o |
Parameter_UserParam1 fc.o |
Parameter_UserParam2 fc.o |
Parameter_UserParam3 fc.o |
Parameter_UserParam4 fc.o |
PcZugriff uart.o |
fc.o |
main.o |
Piep fc.o |
uart.o |
Poti1 fc.o |
menu.o |
Poti2 fc.o |
menu.o |
Poti3 fc.o |
menu.o |
Poti4 fc.o |
menu.o |
PrintZiel printf_P.o |
Putchar printf_P.o |
ReadParameterSet main.o |
fc.o |
uart.o |
RemoteTasten menu.o |
GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
RxdBuffer uart.o |
SendMotorData fc.o |
main.o |
SendOutData uart.o |
SendeBuffer uart.o |
SenderOkay fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
ServoValue timer0.o |
menu.o |
SetDelay timer0.o |
fc.o |
compass.o |
uart.o |
main.o |
SetNeutral fc.o |
main.o |
SioTmp uart.o |
SollHoehe fc.o |
menu.o |
StartLuftdruck fc.o |
analog.o |
StickGier fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
StickNick fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
StickRoll fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
SucheLuftruckOffset analog.o |
fc.o |
main.o |
TestInt menu.o |
Timeout fc.o |
GPS.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
Timer_Init timer0.o |
main.o |
UART_Init uart.o |
main.o |
UBat analog.o |
menu.o |
main.o |
UebertragungAbgeschlossen uart.o |
UpdateMotor timer0.o |
main.o |
VersionInfo uart.o |
main.o |
WriteParameterSet main.o |
uart.o |
WriteProgramData uart.o |
ZaehlMessungen analog.o |
fc.o |
__addsf3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
fc.o |
compass.o |
analog.o |
__addsf3x c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
__bad_interrupt c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__bss_end c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o) |
__bss_start c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o) |
__cmpsf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
__data_end c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
__data_load_start c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
__data_start c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
__divmodhi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o) |
fc.o |
rc.o |
compass.o |
menu.o |
analog.o |
timer0.o |
__divmodsi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o) |
fc.o |
compass.o |
menu.o |
analog.o |
timer0.o |
__divsf3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) |
fc.o |
math.o |
__divsf3x c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) |
__do_clear_bss c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_clear_bss.o) |
GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
__do_copy_data c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_copy_data.o) |
GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
__eeprom_read_block_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o) |
fc.o |
compass.o |
__eeprom_read_byte_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rb.1F2021.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_rblk.1F2021.o) |
main.o |
__eeprom_write_block_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o) |
fc.o |
compass.o |
__eeprom_write_byte_1F2021 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wb.1F2021.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(ee_wblk.1F2021.o) |
fc.o |
uart.o |
main.o |
__epilogue_restores__ c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_epilogue.o) |
fc.o |
math.o |
compass.o |
printf_P.o |
uart.o |
__eqsf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
__fixsfsi c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
fc.o |
math.o |
compass.o |
menu.o |
analog.o |
__fixunssfsi c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
__floatsisf c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o) |
fc.o |
math.o |
compass.o |
analog.o |
__floatunssisf c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o) |
__fp_lneg c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o) |
__fp_merge c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(floatsisf.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
__fp_nan c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
__fp_nanEDOM c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o) |
__fp_nanERANGE c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o) |
__fp_nanx c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_nan.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) |
__fp_split1 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
__fp_split2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
__fp_split3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
__fp_split_a c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_split.o) |
__fp_zero c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_merge.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o) |
__fp_zerox c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_zero.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(divsf3x.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3x.o) |
__gesf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
__gtsf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
analog.o |
__heap_end c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__init c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__lesf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
__ltsf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
fc.o |
analog.o |
__mulsf3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) |
fc.o |
math.o |
compass.o |
__mulsf3x c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(mulsf3.o) |
__mulsi3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_mulsi3.o) |
fc.o |
timer0.o |
__nesf2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(fp_cmp.o) |
__prologue_saves__ c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_prologue.o) |
fc.o |
math.o |
compass.o |
printf_P.o |
uart.o |
__stack c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__subsf3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libm.a(addsf3.o) |
compass.o |
analog.o |
__tablejump2__ c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o) |
twimaster.o |
menu.o |
analog.o |
uart.o |
__tablejump__ c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_tablejump.o) |
__udivmodhi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodhi4.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o) |
analog.o |
__udivmodsi4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_udivmodsi4.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodsi4.o) |
printf_P.o |
__vector_1 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_10 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_11 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_12 rc.o |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_13 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_14 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_15 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_16 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_17 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_18 timer0.o |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_19 compass.o |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_2 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_20 uart.o |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_21 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_22 uart.o |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_23 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_24 analog.o |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_25 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_26 twimaster.o |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_27 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_3 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_4 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_5 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_6 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_7 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_8 c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_9 timer0.o |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vector_default c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
__vectors c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
_div c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_divmodhi4.o) |
_exit c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o) |
_printf_P printf_P.o |
menu.o |
analog.o |
main.o |
acc_neutral fc.o |
menu.o |
analog.o |
accumulate_AccHoch analog.o |
fc.o |
accumulate_AccNick analog.o |
fc.o |
menu.o |
accumulate_AccRoll analog.o |
fc.o |
menu.o |
asin_i math.o |
atan2_i math.o |
compass.o |
beeptime timer0.o |
fc.o |
compass.o |
main.o |
calib_MM3 compass.o |
main.o |
cntKompass timer0.o |
cos_f math.o |
compass.o |
ee_acc_neutral fc.o |
ee_calib compass.o |
exit c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_exit.o) |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
h GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
i2c_init twimaster.o |
main.o |
i2c_start twimaster.o |
fc.o |
i2c_stop twimaster.o |
i2c_write_byte twimaster.o |
m GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
main main.o |
c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5/crtm644.o |
memchr c:/winavr-20070525/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\libc.a(memchr.o) |
printf_P.o |
messanzahl_AccHoch analog.o |
fc.o |
messanzahl_AccNick analog.o |
fc.o |
menu.o |
messanzahl_AccRoll analog.o |
fc.o |
menu.o |
messanzahl_Druck analog.o |
motor twimaster.o |
fc.o |
motor_rx twimaster.o |
motorread twimaster.o |
pgm_asin math.o |
pgm_atan math.o |
pgm_read_float math.o |
pgm_sinus_f math.o |
rc_sum_init rc.o |
main.o |
s GPS.o |
fc.o |
rc.o |
twimaster.o |
math.o |
compass.o |
menu.o |
analog.o |
timer0.o |
printf_P.o |
uart.o |
main.o |
sin_f math.o |
compass.o |
tmpLuftdruck analog.o |
twi_state twimaster.o |
fc.o |
uart_putchar uart.o |
printf_P.o |
/branches/v0.60_MicroMag3_Nick666/trunc/Flight-Ctrl_MEGA644_V0_60_MM3.sym |
---|
0,0 → 1,477 |
00000000 W __heap_end |
00000000 a __tmp_reg__ |
00000000 a __tmp_reg__ |
00000000 a __tmp_reg__ |
00000000 a __tmp_reg__ |
00000000 a __tmp_reg__ |
00000000 a __tmp_reg__ |
00000000 a __tmp_reg__ |
00000000 a __tmp_reg__ |
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__ |
00000001 a __zero_reg__ |
00000001 a __zero_reg__ |
00000001 a __zero_reg__ |
00000001 a __zero_reg__ |
00000001 a __zero_reg__ |
00000001 a __zero_reg__ |
00000001 a __zero_reg__ |
00000001 a __zero_reg__ |
0000003d a __SP_L__ |
0000003d a __SP_L__ |
0000003d a __SP_L__ |
0000003d a __SP_L__ |
0000003d a __SP_L__ |
0000003d a __SP_L__ |
0000003d a __SP_L__ |
0000003d a __SP_L__ |
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__ |
0000003e a __SP_H__ |
0000003e a __SP_H__ |
0000003e a __SP_H__ |
0000003e a __SP_H__ |
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 a __SREG__ |
0000003f a __SREG__ |
0000003f a __SREG__ |
0000003f a __SREG__ |
0000003f a __SREG__ |
0000003f a __SREG__ |
0000003f a __SREG__ |
0000003f a __SREG__ |
000000d0 t __c.2054 |
000000d4 t __c.2052 |
000000dc t __c.2050 |
000000e8 t __c.2048 |
000000f6 t __c.2046 |
000000fb t __c.2041 |
00000118 t __c.2039 |
00000131 t __c.2037 |
00000146 t __c.2032 |
00000161 t __c.2026 |
00000190 t __c.2024 |
000001b1 t __c.2022 |
000001c9 t __c.2021 |
000001cb t __c.2112 |
000001da t __c.2110 |
000001e9 t __c.2108 |
000001f8 t __c.2106 |
00000203 t __c.2103 |
00000211 t __c.2101 |
0000021f t __c.2099 |
0000022d t __c.2097 |
00000235 t __c.2094 |
00000241 t __c.2092 |
0000024d t __c.2090 |
00000259 t __c.2088 |
00000265 t __c.2085 |
00000274 t __c.2083 |
00000283 t __c.2081 |
00000292 t __c.2079 |
000002a1 t __c.2076 |
000002b0 t __c.2074 |
000002bf t __c.2071 |
000002ce t __c.2069 |
000002dd t __c.2067 |
000002ec t __c.2065 |
000002f9 t __c.2062 |
00000308 t __c.2060 |
00000317 t __c.2058 |
00000326 t __c.2056 |
00000334 t __c.2053 |
00000344 t __c.2051 |
00000354 t __c.2049 |
00000364 t __c.2047 |
00000374 t __c.2044 |
00000384 t __c.2042 |
00000394 t __c.2040 |
000003a4 t __c.2038 |
000003b4 t __c.2035 |
000003c3 t __c.2033 |
000003d2 t __c.2031 |
000003e1 t __c.2029 |
000003eb t __c.2026 |
000003f9 t __c.2024 |
00000400 t __c.2022 |
0000040f t __c.2020 |
0000041e t __c.2018 |
0000042d t __c.2016 |
0000043c t __c.2012 |
0000044c t __c.2010 |
00000459 t __c.2008 |
00000460 t __c.2006 |
00000472 t __c.2003 |
00000477 T pgm_atan |
00000585 T pgm_sinus_f |
000006f1 T pgm_asin |
000007ba T __ctors_end |
000007ba T __ctors_start |
000007ba T __dtors_end |
000007ba T __dtors_start |
000007ba W __init |
000007ba T __trampolines_end |
000007ba T __trampolines_start |
000007c6 T __do_copy_data |
000007d2 t .do_copy_data_loop |
000007d6 t .do_copy_data_start |
000007dc T __do_clear_bss |
000007e4 t .do_clear_bss_loop |
000007e6 t .do_clear_bss_start |
000007f4 T __bad_interrupt |
000007f4 W __vector_1 |
000007f4 W __vector_10 |
000007f4 W __vector_11 |
000007f4 W __vector_13 |
000007f4 W __vector_14 |
000007f4 W __vector_15 |
000007f4 W __vector_16 |
000007f4 W __vector_17 |
000007f4 W __vector_2 |
000007f4 W __vector_21 |
000007f4 W __vector_23 |
000007f4 W __vector_25 |
000007f4 W __vector_27 |
000007f4 W __vector_3 |
000007f4 W __vector_4 |
000007f4 W __vector_5 |
000007f4 W __vector_6 |
000007f4 W __vector_7 |
000007f4 W __vector_8 |
000007f8 T GetActiveParamSetNumber |
00000806 T WriteParameterSet |
0000081e t .26_start |
0000082a t .26_finished |
00000836 T ReadParameterSet |
00000850 t .44_start |
0000085c t .44_finished |
00000862 T main |
00000bd4 T __vector_22 |
00000c40 T __vector_20 |
00000de4 T AddCRC |
00000e40 T SendOutData |
00000f0c T Decode64 |
00000fbc T uart_putchar |
00000fde T WriteProgramData |
00000fe0 T UART_Init |
00001016 T DatenUebertragung |
000010f2 T BearbeiteRxDaten |
000010ff W __stack |
0000122e T Putchar |
00001260 T PAD_0 |
00001276 T PAD_SP |
0000128c T PRINTP |
000012b8 T PRINT |
000012e0 T _printf_P |
000017d2 T SetDelay |
000017e4 T CheckDelay |
000017fc T __vector_9 |
0000194a T __vector_18 |
00001a6c T Timer_Init |
00001ab8 T Delay_ms |
00001adc T ADC_Init |
00001ae8 T __vector_24 |
000020e2 T SucheLuftruckOffset |
00002130 T LcdClear |
00002142 T Menu |
0000290c T __vector_19 |
00002a6c T MM3_heading |
00002c52 T MM3_timer0 |
00002cba T calib_MM3 |
00002dcc T MM3_init |
00002df4 T atan2_i |
00002f58 T pgm_read_float |
00002f6c T sin_f |
00003034 T cos_f |
00003044 T asin_i |
0000306a T i2c_init |
00003076 T i2c_start |
00003082 T i2c_stop |
0000308a T i2c_write_byte |
0000309e T __vector_26 |
000031c2 T rc_sum_init |
000031ec T __vector_12 |
0000332a T Mittelwert |
000038ac T CalibrierMittelwert |
00003be4 T ParameterZuordnung |
0000407e T DefaultKonstanten2 |
00004158 T DefaultKonstanten1 |
00004238 T SendMotorData |
000042c6 T SetNeutral |
0000446a T Neutral_calib |
0000450a T Piep |
00004534 T MotorRegler |
00005932 T GPS_Neutral |
00005974 T GPS_BerechneZielrichtung |
00005986 T memchr |
000059a0 T __subsf3 |
000059a2 T __addsf3 |
000059aa T __addsf3x |
00005a26 T __divsf3 |
00005a2c T __divsf3x |
00005ab2 T __fixsfsi |
00005ab2 T __fixunssfsi |
00005ad8 T __fp_lneg |
00005ae8 T __floatunssisf |
00005aec T __floatsisf |
00005b00 T __eqsf2 |
00005b00 T __lesf2 |
00005b00 T __ltsf2 |
00005b00 T __nesf2 |
00005b06 T __gesf2 |
00005b06 T __gtsf2 |
00005b0c T __cmpsf2 |
00005b1e t .fp_cmp |
00005b4e T __fp_merge |
00005b7e T __fp_nan |
00005b7e T __fp_nanEDOM |
00005b7e T __fp_nanERANGE |
00005b7e T __fp_nanx |
00005b84 T __fp_split3 |
00005b8a T __fp_split2 |
00005b9c T __fp_split1 |
00005bb8 T __fp_split_a |
00005bd6 T __fp_zero |
00005bdc T __fp_zerox |
00005be0 T __mulsf3 |
00005be6 T __mulsf3x |
00005c70 T __mulsi3 |
00005cae T __udivmodhi4 |
00005cb6 t __udivmodhi4_loop |
00005cc4 t __udivmodhi4_ep |
00005cd6 T __divmodhi4 |
00005cd6 T _div |
00005cea t __divmodhi4_neg2 |
00005cf0 t __divmodhi4_exit |
00005cf2 t __divmodhi4_neg1 |
00005cfc T __udivmodsi4 |
00005d08 t __udivmodsi4_loop |
00005d22 t __udivmodsi4_ep |
00005d40 T __divmodsi4 |
00005d54 t __divmodsi4_neg2 |
00005d62 t __divmodsi4_exit |
00005d64 t __divmodsi4_neg1 |
00005d76 T __prologue_saves__ |
00005dae T __epilogue_restores__ |
00005de4 T __tablejump2__ |
00005de8 T __tablejump__ |
00005df0 T __eeprom_read_byte_1F2021 |
00005e00 T __eeprom_read_block_1F2021 |
00005e0a T __eeprom_write_byte_1F2021 |
00005e22 T __eeprom_write_block_1F2021 |
00005e2c t __stop_program |
00005e2c T _exit |
00005e2c W exit |
00005e2e A __data_load_start |
00005e2e T _etext |
00005eba A __data_load_end |
00800100 D __data_start |
00800100 D UebertragungAbgeschlossen |
00800101 D PcZugriff |
00800102 D cntKompass |
00800104 d timer.2085 |
00800105 d cnt_1ms.2005 |
00800106 D UBat |
00800108 D Luftdruck |
0080010c D MessLuftdruck |
0080010e D Array |
00800118 D DisplayBuff |
00800168 d MaxMenue.2001 |
00800169 D NewPpmData |
0080017a D Kp |
0080017e D Ki |
00800182 D Parameter_Luftdruck_D |
00800183 D Parameter_MaxHoehe |
00800184 D Parameter_Hoehe_P |
00800185 D Parameter_Hoehe_ACC_Wirkung |
00800186 D Parameter_KompassWirkung |
00800187 D Parameter_Gyro_P |
00800188 D Parameter_Gyro_I |
00800189 D Parameter_Gier_P |
0080018a D Parameter_I_Faktor |
0080018b D Parameter_ServoNickControl |
0080018c B __bss_start |
0080018c D __data_end |
0080018c D _edata |
0080018c B DebugGetAnforderung |
0080018d B DebugDisplayAnforderung |
0080018e B DebugDataAnforderung |
0080018f B GetVersionAnforderung |
00800190 B SioTmp |
00800191 B NeuerDatensatzEmpfangen |
00800192 B NeueKoordinateEmpfangen |
00800193 B CntCrcError |
00800194 B AnzahlEmpfangsBytes |
00800195 B PC_DebugTimeout |
00800196 B MotorTest |
0080019a b dis_zeile.2265 |
0080019b b UartState.2028 |
0080019c b buf_ptr.2027 |
0080019d b crc2.2026 |
0080019e b crc1.2025 |
0080019f b crc.2024 |
008001a1 b ptr.2011 |
008001a3 B CountMilliseconds |
008001a5 B UpdateMotor |
008001a6 B beeptime |
008001a8 B ServoValue |
008001aa b cnt.2006 |
008001ab b tim_main |
008001ad B AccumulateNick |
008001af B AccumulateRoll |
008001b1 B AccumulateGier |
008001b3 B accumulate_AccRoll |
008001b5 B accumulate_AccNick |
008001b7 B accumulate_AccHoch |
008001b9 B MessanzahlNick |
008001ba B MessanzahlRoll |
008001bb B MessanzahlGier |
008001bc B messanzahl_AccNick |
008001bd B messanzahl_AccRoll |
008001be B messanzahl_AccHoch |
008001bf B HoeheD |
008001c1 B ZaehlMessungen |
008001c3 b state.2036 |
008001c4 b kanal.2035 |
008001c5 B TestInt |
008001c7 B DispPtr |
008001c8 B RemoteTasten |
008001c9 b MenuePunkt.2002 |
008001ca B twi_state |
008001cb B motor |
008001cc B motorread |
008001cd b index.2002 |
008001cf b AltICR.2000 |
008001d1 B Timeout |
008001d2 B AdNeutralNick |
008001d4 B AdNeutralRoll |
008001d6 B AdNeutralGier |
008001d8 B CosinusNickWinkel |
008001d9 B CosinusRollWinkel |
008001da B IntegralNick |
008001de B IntegralNick2 |
008001e2 B IntegralRoll |
008001e6 B IntegralRoll2 |
008001ea B Integral_Gier |
008001ee B Mess_IntegralNick |
008001f2 B Mess_IntegralNick2 |
008001f6 B Mess_IntegralRoll |
008001fa B Mess_IntegralRoll2 |
008001fe B Mess_Integral_Gier |
00800202 B Mess_Integral_Gier2 |
00800206 B Mess_Integral_Hoch |
0080020a B KompassValue |
0080020c B KompassStartwert |
0080020e B KompassRichtung |
00800210 B Notlandung |
00800211 B HoehenReglerAktiv |
00800212 B Poti1 |
00800214 B Poti2 |
00800216 B Poti3 |
00800218 B Poti4 |
0080021a B SenderOkay |
0080021b B StickNick |
0080021d B StickRoll |
0080021f B StickGier |
00800221 B MotorenEin |
00800222 B HoehenWert |
00800224 B SollHoehe |
00800226 B Parameter_UserParam1 |
00800227 B Parameter_UserParam2 |
00800228 B Parameter_UserParam3 |
00800229 B Parameter_UserParam4 |
0080022a b NeueKompassRichtungMerken.2397 |
0080022b b TimerWerteausgabe.2396 |
0080022c b hoehenregler.2395 |
0080022e b modell_fliegt.2394 |
00800230 b delay_ausschalten.2393 |
00800231 b delay_einschalten.2392 |
00800232 b delay_neutral.2391 |
00800233 b RcLostTimer.2390 |
00800235 b IntegralFehlerRoll.2389 |
00800237 b IntegralFehlerNick.2388 |
00800239 b tmp_long2.2387 |
0080023d b tmp_long.2386 |
00800241 b sollGier.2385 |
00800245 b SummeRoll.2384 |
00800249 b SummeNick.2383 |
0080024d B GPS_Nick |
0080024f B GPS_Roll |
00800251 B GpsAktuell_X |
00800255 B GpsAktuell_Y |
00800259 B GpsZiel_X |
0080025d B GpsZiel_Y |
00800261 B DiffRoll |
00800263 B Motor_Vorne |
00800264 B Motor_Hinten |
00800265 B DiffNick |
00800267 B Motor_Rechts |
00800268 B Count |
00800269 B Motor_Links |
0080026a B s |
0080026b B h |
0080026c B m |
0080026d B MotorWert |
00800272 B MeineSlaveAdresse |
00800273 B SendeBuffer |
00800309 B NMEABuffer |
0080039f B Debug_Timer |
008003a1 B DebugIn |
008003ac B VersionInfo |
008003b6 B RxdBuffer |
0080044c B DebugOut |
0080047e B PrintZiel |
0080047f B Aktuell_ay |
00800481 B Aktuell_az |
00800483 B StartLuftdruck |
00800485 B Aktuell_Nick |
00800487 B messanzahl_Druck |
00800488 B Aktuell_Roll |
0080048a B Aktuell_ax |
0080048c B DruckOffsetSetting |
0080048d B Aktuell_Gier |
0080048f B tmpLuftdruck |
00800491 B MM3_calib |
00800494 B MM3 |
008004a8 B motor_rx |
008004b0 B PPM_in |
008004c6 B PPM_diff |
008004dc B EE_Parameter |
00800516 B MesswertRoll |
00800518 B MesswertNick |
0080051a B MIN_GAS |
0080051b B Mittelwert_AccHoch |
0080051d B IntegralFaktor |
00800521 B acc_neutral |
00800529 B Mittelwert_AccNick |
0080052b B MAX_GAS |
0080052c B MesswertGier |
0080052e B GyroFaktor |
00800532 B Mittelwert_AccRoll |
00800534 B __bss_end |
00800534 A _end |
00810000 D EEPromArray |
008101f5 D ee_calib |
008101f8 D ee_acc_neutral |
00810200 D __eeprom_end |
/branches/v0.60_MicroMag3_Nick666/trunc/GPS.c |
---|
0,0 → 1,26 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Copyright (c) 04.2007 Holger Buss |
// + only for non-profit use |
// + www.MikroKopter.com |
// + see the File "License.txt" for further Informations |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "main.h" |
signed int GPS_Nick = 0; |
signed int GPS_Roll = 0; |
long GpsAktuell_X = 0; |
long GpsAktuell_Y = 0; |
long GpsZiel_X = 0; |
long GpsZiel_Y = 0; |
void GPS_Neutral(void) |
{ |
GpsZiel_X = GpsAktuell_X; |
GpsZiel_Y = GpsAktuell_Y; |
} |
void GPS_BerechneZielrichtung(void) |
{ |
GPS_Nick = 0; |
GPS_Roll = 0; |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/GPS.d |
---|
0,0 → 1,2 |
GPS.o GPS.d : GPS.c main.h old_macros.h _settings.h printf_P.h compass.h \ |
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/README.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/branches/v0.60_MicroMag3_Nick666/trunc/Settings.h |
---|
--- branches/v0.60_MicroMag3_Nick666/trunc/_Settings.h (nonexistent) |
+++ branches/v0.60_MicroMag3_Nick666/trunc/_Settings.h (revision 366) |
@@ -0,0 +1,50 @@ |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Testmodi |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+#define MOTOR_OFF 0 |
+#define MOTOR_TEST 0 |
+ |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Abstimmung |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+#define ACC_AMPLIFY 16 |
+#define FAKTOR_P 1 |
+#define FAKTOR_I 0.0001 |
+ |
+ |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Debug-Interface |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+#define SIO_DEBUG 1 // Soll der Debugger aktiviert sein? |
+#define MIN_DEBUG_INTERVALL 250 // in diesem Intervall werden Degugdaten ohne Aufforderung gesendet |
+ |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Sender |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ #define K_NICK 0 |
+ #define K_ROLL 1 |
+ #define K_GAS 2 |
+ #define K_GIER 3 |
+ #define K_POTI1 4 |
+ #define K_POTI2 5 |
+ #define K_POTI3 6 |
+ #define K_POTI4 7 |
+// +++++++++++++++++++++++++++++++ |
+// + Getestete Settings: |
+// +++++++++++++++++++++++++++++++ |
+// Setting: Kamera |
+// Stick_P:3 |
+// Stick_D:0 |
+// Gyro_P: 175 |
+// Gyro_I: 175 |
+// Ki_Anteil: 10 |
+// +++++++++++++++++++++++++++++++ |
+// + Getestete Settings: |
+// +++++++++++++++++++++++++++++++ |
+// Setting: Normal |
+// Stick_P:2 |
+// Stick_D:8 |
+// Gyro_P: 80 |
+// Gyro_I: 150 |
+// Ki_Anteil: 5 |
+ |
/branches/v0.60_MicroMag3_Nick666/trunc/analog.c |
---|
0,0 → 1,155 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Copyright (c) 04.2007 Holger Buss |
// + only for non-profit use |
// + www.MikroKopter.com |
// + see the File "License.txt" for further Informations |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "main.h" |
volatile int Aktuell_Nick,Aktuell_Roll,Aktuell_Gier,Aktuell_ax, Aktuell_ay,Aktuell_az, UBat = 100; |
volatile int AccumulateNick = 0, AccumulateRoll = 0, AccumulateGier = 0; |
volatile int accumulate_AccRoll = 0,accumulate_AccNick = 0,accumulate_AccHoch = 0; |
volatile char MessanzahlNick = 0, MessanzahlRoll = 0, MessanzahlGier = 0; |
volatile char messanzahl_AccNick = 0, messanzahl_AccRoll = 0, messanzahl_AccHoch = 0; |
volatile long Luftdruck = 32000; |
volatile int StartLuftdruck; |
volatile unsigned int MessLuftdruck = 1023; |
unsigned char DruckOffsetSetting; |
volatile int HoeheD = 0; |
volatile char messanzahl_Druck; |
volatile int tmpLuftdruck; |
volatile unsigned int ZaehlMessungen = 0; |
//####################################################################################### |
// |
void ADC_Init(void) |
//####################################################################################### |
{ |
ADMUX = 0;//Referenz ist extern |
ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADIE); |
//Free Running Mode, Division Factor 128, Interrupt on |
} |
void SucheLuftruckOffset(void) |
{ |
unsigned int off; |
for(off=0; off < 250;off++) |
{ |
OCR0A = off; |
Delay_ms(50); |
printf("."); |
if(MessLuftdruck < 900) break; |
} |
DruckOffsetSetting = off; |
Delay_ms(200); |
} |
//####################################################################################### |
// |
SIGNAL(SIG_ADC) |
//####################################################################################### |
{ |
static unsigned char kanal=0,state = 0; |
signed int wert; |
ANALOG_OFF; |
switch(state++) |
{ |
case 0: |
wert = (signed int) AdNeutralGier - ADC; |
AccumulateGier += wert; // |
MessanzahlGier++; |
Mess_Integral_Gier += wert;// / 16; |
Mess_Integral_Gier2 += wert; |
kanal = 1; |
ZaehlMessungen++; |
break; |
case 1: |
wert = (signed int) ADC - AdNeutralRoll; |
Mess_IntegralRoll += wert; |
Mess_IntegralRoll2 += wert; |
if(ADC < 10) wert = -700; |
if(ADC > 1000) wert = +700; |
AccumulateRoll += wert; |
MessanzahlRoll++; |
kanal = 2; |
break; |
case 2: |
wert = (signed int) ADC - AdNeutralNick; |
Mess_IntegralNick += wert; |
Mess_IntegralNick2 += wert; |
if(ADC < 10) wert = -700; |
if(ADC > 1000) wert = +700; |
AccumulateNick += wert; |
MessanzahlNick++; |
kanal = 4; |
break; |
case 3: |
UBat = (3 * UBat + ADC / 3) / 4;//(UBat + ((ADC * 39) / 256) + 19) / 2; |
kanal = 6; |
break; |
case 4: |
Aktuell_ay = acc_neutral.Y - ADC; |
accumulate_AccRoll += Aktuell_ay; |
messanzahl_AccRoll++; |
kanal = 7; |
break; |
case 5: |
Aktuell_ax = ADC - acc_neutral.X; |
accumulate_AccNick += Aktuell_ax; |
messanzahl_AccNick++; |
kanal = 5; |
state = 6; |
break; |
case 6: |
accumulate_AccHoch = (signed int) ADC - acc_neutral.Z; |
accumulate_AccHoch += abs(Aktuell_ay) / 4 + abs(Aktuell_ax) / 4; |
if(accumulate_AccHoch > 1) |
{ |
if(acc_neutral.Z < 800) acc_neutral.Z+= 0.02; |
} |
else if(accumulate_AccHoch < -1) |
{ |
if(acc_neutral.Z > 600) acc_neutral.Z-= 0.02; |
} |
messanzahl_AccHoch = 1; |
Aktuell_az = ADC; |
Mess_Integral_Hoch += accumulate_AccHoch; // Integrieren |
Mess_Integral_Hoch -= Mess_Integral_Hoch / 1024; // dämfen |
// Mess_Integral_Hoch -= Mess_Integral_Hoch / 512; // dämfen |
/* if(EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG) |
{ |
kanal = 3; |
state = 7; |
} |
else |
{ |
kanal = 0; |
state = 0; |
}*/ |
kanal = 3; |
state = 7; |
break; |
case 7: |
tmpLuftdruck += ADC; |
if(++messanzahl_Druck >= 5) |
{ |
MessLuftdruck = ADC; |
messanzahl_Druck = 0; |
HoeheD = (int)(StartLuftdruck - tmpLuftdruck - HoehenWert); // D-Anteil = neuerWert - AlterWert |
Luftdruck = (tmpLuftdruck + 3 * Luftdruck) / 4; |
HoehenWert = StartLuftdruck - Luftdruck; |
tmpLuftdruck = 0; |
} |
kanal = 0; |
state = 0; |
break; |
default: |
kanal = 0; |
state = 0; |
break; |
} |
ADMUX = kanal; |
ANALOG_ON; |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/analog.d |
---|
0,0 → 1,2 |
analog.o analog.d : analog.c main.h old_macros.h _settings.h printf_P.h compass.h \ |
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/analog.h |
---|
0,0 → 1,23 |
/*####################################################################################### |
#######################################################################################*/ |
extern volatile int UBat; |
extern volatile int AccumulateNick, AccumulateRoll, AccumulateGier,accumulate_AccRoll,accumulate_AccNick,accumulate_AccHoch; |
extern volatile char MessanzahlNick, MessanzahlRoll, MessanzahlGier,messanzahl_AccNick, messanzahl_AccRoll,messanzahl_AccHoch; |
extern volatile int Aktuell_Nick,Aktuell_Roll,Aktuell_Gier,Aktuell_ax, Aktuell_ay,Aktuell_az; |
extern volatile long Luftdruck; |
extern volatile char messanzahl_Druck; |
extern volatile unsigned int ZaehlMessungen; |
extern unsigned char DruckOffsetSetting; |
extern volatile int HoeheD; |
extern volatile unsigned int MessLuftdruck; |
extern volatile int StartLuftdruck; |
extern unsigned int ReadADC(unsigned char adc_input); |
extern void ADC_Init(void); |
extern void SucheLuftruckOffset(void); |
#define ANALOG_OFF ADCSRA=0 |
#define ANALOG_ON ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADIE) |
/branches/v0.60_MicroMag3_Nick666/trunc/compass.c |
---|
0,0 → 1,221 |
/* |
Copyright 2007, Niklas Nold |
This program (files compass.c and compass.h) is free software; you can redistribute it and/or modify |
it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; |
either version 3 of the License, or (at your option) any later version. |
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; |
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. |
Please note: All the other files for the project "Mikrokopter" by H. Buss are under the license (license_buss.txt) published by www.mikrokopter.de |
*/ |
#include "main.h" |
MM3_working_struct MM3; |
MM3_calib_struct ee_calib EEMEM; // Reservierung im EEPROM |
MM3_calib_struct MM3_calib; |
//############################################################################ |
// Initialisierung |
void MM3_init(void) |
//############################################################################ |
{ |
SPCR = (1<<SPIE)|(1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0); //Interrupt an, Master, 156 kHz Oszillator |
//SPSR = (1<<SPI2X); |
DDRB |= (1<<PB7)|(1<<PB5)|(1<<PB2); // J8, MOSI, SCK Ausgang |
PORTD &= ~(1<<PD3); // J5 auf Low |
MM3.AXIS = MM3_X; |
MM3.STATE = MM3_RESET; |
// Kalibrierung aus dem EEprom lesen |
eeprom_read_block(&MM3_calib,&ee_calib,sizeof(MM3_calib_struct)); |
} |
//############################################################################ |
// Wird in der SIGNAL (SIG_OVERFLOW0) aufgerufen |
void MM3_timer0(void) |
//############################################################################ |
{ |
switch (MM3.STATE) |
{ |
case MM3_RESET: |
PORTB |= (1<<PB2); // J8 auf High, MM3 Reset |
MM3.STATE = MM3_START_TRANSFER; |
return; |
case MM3_START_TRANSFER: |
PORTB &= ~(1<<PB2); // J8 auf Low (war ~125 µs auf High) |
if (MM3.AXIS == MM3_X) SPDR = 0x31; // Schreiben ins SPDR löst automatisch Übertragung (MOSI und MISO) aus |
else if (MM3.AXIS == MM3_Y) SPDR = 0x32; // Micromag Period Select ist auf 256 (0x30) |
else if (MM3.AXIS == MM3_Z) SPDR = 0x33; // 1: x-Achse, 2: Y-Achse, 3: Z-Achse |
MM3.DRDY = SetDelay(8); // Laut Datenblatt max. Zeit bis Messung fertig (bei PS 256 eigentlich 4 ms) |
MM3.STATE = MM3_WAIT_DRDY; |
return; |
case MM3_WAIT_DRDY: |
if (CheckDelay(MM3.DRDY)) {SPDR = 0x00;MM3.STATE = MM3_DRDY;} // Irgendwas ins SPDR, damit Übertragung ausgelöst wird, wenn Wartezeit vorbei |
return; // Jetzt gehts weiter in SIGNAL (SIG_SPI) |
/* |
case MM3_TILT: // Zeitnahe Speicherung der aktuellen Neigung in ° |
MM3.NickGrad = IntegralNick/(EE_Parameter.UserParam1*8); |
MM3.RollGrad = IntegralRoll/(EE_Parameter.UserParam2*8); |
MM3.AXIS = MM3_X; |
MM3.STATE = MM3_RESET; |
return; |
*/ |
} |
} |
//############################################################################ |
// SPI byte ready |
SIGNAL (SIG_SPI) |
//############################################################################ |
{ |
switch (MM3.STATE) |
{ |
case MM3_DRDY: // 1. Byte ist da, abspeichern, an die MSB-Stelle rücken |
if (MM3.AXIS == MM3_X) |
{ |
MM3.x_axis = SPDR; |
MM3.x_axis <<= 8; |
} |
else if (MM3.AXIS == MM3_Y) |
{ |
MM3.y_axis = SPDR; |
MM3.y_axis <<= 8; |
} |
else // if (MM3.AXIS == MM3_Z) |
{ |
MM3.z_axis = SPDR; |
MM3.z_axis <<= 8; |
} |
SPDR=0x00; // Übertragung von 2. Byte auslösen |
MM3.STATE=MM3_BYTE2; |
return; |
case MM3_BYTE2: // 2. Byte der entsprechenden Achse ist da |
if (MM3.AXIS == MM3_X) |
{ |
MM3.x_axis |= SPDR; |
// Spikes filtern |
if (abs(MM3.x_axis) < Max_Axis_Value) MM3.x_axis_old = MM3.x_axis; |
else MM3.x_axis = MM3.x_axis_old; |
MM3.AXIS = MM3_Y; |
MM3.STATE = MM3_RESET; |
} |
else if (MM3.AXIS == MM3_Y) |
{ |
MM3.y_axis |= SPDR; |
if (abs(MM3.y_axis) < Max_Axis_Value) MM3.y_axis_old = MM3.y_axis; |
else MM3.y_axis = MM3.y_axis_old; |
MM3.AXIS = MM3_Z; |
MM3.STATE = MM3_RESET; |
} |
else // if (MM3.AXIS == MM3_Z) |
{ |
MM3.z_axis |= SPDR; |
if (abs(MM3.z_axis) < Max_Axis_Value) MM3.z_axis_old = MM3.z_axis; |
else MM3.z_axis = MM3.z_axis_old; |
MM3.AXIS = MM3_X; |
MM3.STATE = MM3_RESET; |
} |
return; |
} |
} |
//############################################################################ |
// Kompass kalibrieren |
void calib_MM3(void) |
//############################################################################ |
{ |
signed int x_min=0,x_max=0,y_min=0,y_max=0,z_min=0,z_max=0; |
uint8_t measurement=50,beeper=0; |
unsigned int timer; |
while (measurement) |
{ |
//H_earth = MM3.x_axis*MM3.x_axis + MM3.y_axis*MM3.y_axis + MM3.z_axis*MM3.z_axis; |
if (MM3.x_axis > x_max) x_max = MM3.x_axis; |
else if (MM3.x_axis < x_min) x_min = MM3.x_axis; |
if (MM3.y_axis > y_max) y_max = MM3.y_axis; |
else if (MM3.y_axis < y_min) y_min = MM3.y_axis; |
if (MM3.z_axis > z_max) z_max = MM3.z_axis; |
else if (MM3.z_axis < z_min) z_min = MM3.z_axis; |
if (!beeper) |
{ |
beeper = 50; |
beeptime = 50; |
} |
beeper--; |
// Schleife mit 100 Hz voll ausreichend |
timer = SetDelay(10); |
while(!CheckDelay(timer)); |
// Wenn Gas zurück genommen wird, Kalibrierung mit Verzögerung beenden |
if (PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] < 100) measurement--; |
} |
// Offset der Achsen berechnen |
MM3_calib.X_off = (x_max + x_min) / 2; |
MM3_calib.Y_off = (y_max + y_min) / 2; |
MM3_calib.Z_off = (z_max + z_min) / 2; |
// und im EEProm abspeichern |
eeprom_write_block(&MM3_calib,&ee_calib,sizeof(MM3_calib_struct)); |
} |
//############################################################################ |
// Neigungskompensierung und Berechnung der Ausrichtung |
signed int MM3_heading(void) |
//############################################################################ |
{ |
float sin_nick, cos_nick, sin_roll, cos_roll; |
signed int x_corr, y_corr, heading; |
signed int x_axis,y_axis,z_axis; |
MM3.NickGrad = -(IntegralNick/(EE_Parameter.UserParam1*8)); |
MM3.RollGrad = -(IntegralRoll/(EE_Parameter.UserParam2*8)); |
// Berechung von sinus und cosinus |
sin_nick = sin_f(MM3.NickGrad); |
cos_nick = cos_f(MM3.NickGrad); |
sin_roll = sin_f(MM3.RollGrad); |
cos_roll = cos_f(MM3.RollGrad); |
// Offset der Achsen nur bei Bedarf (also hier) berücksichtigen |
x_axis = (MM3.x_axis - MM3_calib.X_off); |
y_axis = (MM3.y_axis - MM3_calib.Y_off); |
z_axis = (MM3.z_axis - MM3_calib.Z_off); |
// Neigungskompensation |
x_corr = (cos_nick * x_axis) + (((sin_roll * y_axis) - (cos_roll * z_axis)) * sin_nick); |
y_corr = ((cos_roll * y_axis) + (sin_roll * z_axis)); |
// Winkelberechnung |
heading = atan2_i(x_corr, y_corr); |
return (heading); |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/compass.d |
---|
0,0 → 1,2 |
compass.o compass.d : compass.c main.h old_macros.h _settings.h printf_P.h compass.h \ |
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/compass.h |
---|
0,0 → 1,45 |
typedef struct |
{ |
uint8_t STATE; |
unsigned int DRDY; |
uint8_t AXIS; |
signed int x_axis; |
signed int x_axis_old; |
signed int y_axis; |
signed int y_axis_old; |
signed int z_axis; |
signed int z_axis_old; |
signed int NickGrad; |
signed int RollGrad; |
}MM3_working_struct; |
typedef struct |
{ |
int8_t X_off; |
int8_t Y_off; |
int8_t Z_off; |
}MM3_calib_struct; |
extern MM3_working_struct MM3; |
extern MM3_calib_struct MM3_calib; |
void MM3_init(void); |
void MM3_timer0(void); |
void calib_MM3(void); |
signed int MM3_heading(void); |
#define Max_Axis_Value 500 |
// Die Werte der Statemachine |
#define MM3_RESET 0 |
#define MM3_START_TRANSFER 1 |
#define MM3_WAIT_DRDY 2 |
#define MM3_DRDY 4 |
#define MM3_BYTE2 8 |
#define MM3_X 16 |
#define MM3_Y 32 |
#define MM3_Z 64 |
#define MM3_TILT 128 |
/branches/v0.60_MicroMag3_Nick666/trunc/eeprom.c |
---|
--- branches/v0.60_MicroMag3_Nick666/trunc/fc.c (nonexistent) |
+++ branches/v0.60_MicroMag3_Nick666/trunc/fc.c (revision 366) |
@@ -0,0 +1,826 @@ |
+/*####################################################################################### |
+Flight Control |
+#######################################################################################*/ |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Copyright (c) 04.2007 Holger Buss |
+// + Nur für den privaten Gebrauch |
+// + www.MikroKopter.com |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Es gilt für das gesamte Projekt (Hardware, Software, Binärfiles, Sourcecode und Dokumentation), |
+// + dass eine Nutzung (auch auszugsweise) nur für den privaten (nicht-kommerziellen) Gebrauch zulässig ist. |
+// + Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit uns (info@mikrokopter.de) Kontakt |
+// + bzgl. der Nutzungsbedingungen aufzunehmen. |
+// + Eine kommerzielle Nutzung ist z.B.Verkauf von MikroKoptern, Bestückung und Verkauf von Platinen oder Bausätzen, |
+// + Verkauf von Luftbildaufnahmen, usw. |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Werden Teile des Quellcodes (mit oder ohne Modifikation) weiterverwendet oder veröffentlicht, |
+// + unterliegen sie auch diesen Nutzungsbedingungen und diese Nutzungsbedingungen incl. Copyright müssen dann beiliegen |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Sollte die Software (auch auszugesweise) oder sonstige Informationen des MikroKopter-Projekts |
+// + auf anderen Webseiten oder sonstigen Medien veröffentlicht werden, muss unsere Webseite "http://www.mikrokopter.de" |
+// + eindeutig als Ursprung verlinkt werden |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion |
+// + Benutzung auf eigene Gefahr |
+// + Wir übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Die Portierung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur |
+// + mit unserer Zustimmung zulässig |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Redistributions of source code (with or without modifications) must retain the above copyright notice, |
+// + this list of conditions and the following disclaimer. |
+// + * Neither the name of the copyright holders nor the names of contributors may be used to endorse or promote products derived |
+// + from this software without specific prior written permission. |
+// + * The use of this project (hardware, software, binary files, sources and documentation) is only permittet |
+// + for non-commercial use (directly or indirectly) |
+// + Commercial use (for excample: selling of MikroKopters, selling of PCBs, assembly, ...) is only permitted |
+// + with our written permission |
+// + * If sources or documentations are redistributet on other webpages, out webpage (http://www.MikroKopter.de) must be |
+// + clearly linked as origin |
+// + * porting to systems other than hardware from www.mikrokopter.de is not allowed |
+// + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
+// + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
+// + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
+// + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
+// + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
+// + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
+// + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
+// + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
+// + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
+// + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
+// + POSSIBILITY OF SUCH DAMAGE. |
+// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ |
+#include "main.h" |
+ |
+unsigned char h,m,s; |
+volatile unsigned char Timeout = 0; |
+volatile int MesswertNick,MesswertRoll,MesswertGier; |
+volatile int AdNeutralNick = 0,AdNeutralRoll = 0,AdNeutralGier = 0; |
+volatile int Mittelwert_AccNick, Mittelwert_AccRoll,Mittelwert_AccHoch; |
+unsigned char CosinusNickWinkel = 0, CosinusRollWinkel = 0; |
+volatile long IntegralNick = 0,IntegralNick2 = 0; |
+volatile long IntegralRoll = 0,IntegralRoll2 = 0; |
+volatile long Integral_Gier = 0; |
+volatile long Mess_IntegralNick = 0,Mess_IntegralNick2 = 0; |
+volatile long Mess_IntegralRoll = 0,Mess_IntegralRoll2 = 0; |
+volatile long Mess_Integral_Gier = 0,Mess_Integral_Gier2 = 0; |
+volatile long Mess_Integral_Hoch = 0; |
+volatile int KompassValue = 0; |
+volatile int KompassStartwert = 0; |
+volatile int KompassRichtung = 0; |
+unsigned char MAX_GAS,MIN_GAS; |
+unsigned char Notlandung = 0; |
+unsigned char HoehenReglerAktiv = 0; |
+ |
+float GyroFaktor; |
+float IntegralFaktor; |
+ |
+volatile int DiffNick,DiffRoll; |
+int Poti1 = 0, Poti2 = 0, Poti3 = 0, Poti4 = 0; |
+volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
+unsigned char MotorWert[5]; |
+volatile unsigned char SenderOkay = 0; |
+int StickNick = 0,StickRoll = 0,StickGier = 0; |
+char MotorenEin = 0; |
+int HoehenWert = 0; |
+int SollHoehe = 0; |
+ |
+float Kp = FAKTOR_P; |
+float Ki = FAKTOR_I; |
+ |
+unsigned char Parameter_Luftdruck_D = 48; // Wert : 0-250 |
+unsigned char Parameter_MaxHoehe = 251; // Wert : 0-250 |
+unsigned char Parameter_Hoehe_P = 16; // Wert : 0-32 |
+unsigned char Parameter_Hoehe_ACC_Wirkung = 58; // Wert : 0-250 |
+unsigned char Parameter_KompassWirkung = 64; // Wert : 0-250 |
+unsigned char Parameter_Gyro_P = 50; // Wert : 10-250 |
+unsigned char Parameter_Gyro_I = 150; // Wert : 0-250 |
+unsigned char Parameter_Gier_P = 2; // Wert : 1-20 |
+unsigned char Parameter_I_Faktor = 10; // Wert : 1-20 |
+unsigned char Parameter_UserParam1 = 0; |
+unsigned char Parameter_UserParam2 = 0; |
+unsigned char Parameter_UserParam3 = 0; |
+unsigned char Parameter_UserParam4 = 0; |
+unsigned char Parameter_ServoNickControl = 100; |
+struct mk_param_struct EE_Parameter; |
+ |
+acc_neutral_struct ee_acc_neutral EEMEM; // Reservierung im EEPROM |
+acc_neutral_struct acc_neutral; |
+ |
+void Piep(unsigned char Anzahl) |
+{ |
+ while(Anzahl--) |
+ { |
+ if(MotorenEin) return; //auf keinen Fall im Flug! |
+ beeptime = 100; |
+ Delay_ms(250); |
+ } |
+} |
+ |
+ |
+//############################################################################ |
+// Neutrallage kalibrieren und fest im EEPROM abspeichern |
+void Neutral_calib(void) |
+//############################################################################ |
+{ |
+unsigned int timer; |
+ |
+ CalibrierMittelwert(); |
+ timer = SetDelay(5); |
+ while (!CheckDelay(timer)); |
+ CalibrierMittelwert(); |
+ |
+ |
+ acc_neutral.X = abs(Mittelwert_AccNick) / ACC_AMPLIFY; |
+ acc_neutral.Y = abs(Mittelwert_AccRoll) / ACC_AMPLIFY; |
+ acc_neutral.Z = Aktuell_az; |
+ |
+ eeprom_write_block(&acc_neutral,&ee_acc_neutral,sizeof(acc_neutral_struct)); |
+} |
+ |
+//############################################################################ |
+// Nullwerte ermitteln |
+void SetNeutral(void) |
+//############################################################################ |
+{ |
+ unsigned int timer; |
+ acc_neutral.X = 0; |
+ acc_neutral.Y = 0; |
+ acc_neutral.Z = 0; |
+ AdNeutralNick = 0; |
+ AdNeutralRoll = 0; |
+ AdNeutralGier = 0; |
+ CalibrierMittelwert(); |
+ timer = SetDelay(5); |
+ while (!CheckDelay(timer)); |
+ CalibrierMittelwert(); |
+ if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung aktiviert? |
+ { |
+ if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset(); |
+ } |
+ AdNeutralNick= abs(MesswertNick); |
+ AdNeutralRoll= abs(MesswertRoll); |
+ AdNeutralGier= abs(MesswertGier); |
+ |
+ eeprom_read_block(&acc_neutral,&ee_acc_neutral,sizeof(acc_neutral_struct)); |
+ //NeutralAccY = acc_neutral.Y; |
+ //NeutralAccX = acc_neutral.X; |
+ //NeutralAccZ = acc_neutral.Z; |
+ |
+ Mess_IntegralNick = 0; |
+ Mess_IntegralNick2 = 0; |
+ Mess_IntegralRoll = 0; |
+ Mess_IntegralRoll2 = 0; |
+ Mess_Integral_Gier = 0; |
+ MesswertNick = 0; |
+ MesswertRoll = 0; |
+ MesswertGier = 0; |
+ StartLuftdruck = Luftdruck; |
+ HoeheD = 0; |
+ Mess_Integral_Hoch = 0; |
+ KompassStartwert = KompassValue; |
+ GPS_Neutral(); |
+ beeptime = 50; |
+} |
+ |
+//############################################################################ |
+// Bildet den Mittelwert aus den Messwerten |
+void Mittelwert(void) |
+//############################################################################ |
+{ |
+ // ADC auschalten, damit die Werte sich nicht während der Berechnung ändern |
+ ANALOG_OFF; |
+ if(MessanzahlNick) (MesswertNick = AccumulateNick / MessanzahlNick); |
+ if(MessanzahlRoll) (MesswertRoll = AccumulateRoll / MessanzahlRoll); |
+ if(MessanzahlGier) (MesswertGier = AccumulateGier / MessanzahlGier); |
+ if(messanzahl_AccNick) Mittelwert_AccNick = ((long)Mittelwert_AccNick * 7 + ((ACC_AMPLIFY * (long)accumulate_AccNick) / messanzahl_AccNick)) / 8L; |
+ if(messanzahl_AccRoll) Mittelwert_AccRoll = ((long)Mittelwert_AccRoll * 7 + ((ACC_AMPLIFY * (long)accumulate_AccRoll) / messanzahl_AccRoll)) / 8L; |
+ if(messanzahl_AccHoch) Mittelwert_AccHoch = ((long)Mittelwert_AccHoch * 7 + ((long)accumulate_AccHoch) / messanzahl_AccHoch) / 8L; |
+ AccumulateNick = 0; MessanzahlNick = 0; |
+ AccumulateRoll = 0; MessanzahlRoll = 0; |
+ AccumulateGier = 0; MessanzahlGier = 0; |
+ accumulate_AccRoll = 0;messanzahl_AccRoll = 0; |
+ accumulate_AccNick = 0;messanzahl_AccNick = 0; |
+ accumulate_AccHoch = 0;messanzahl_AccHoch = 0; |
+ Integral_Gier = Mess_Integral_Gier; |
+// Integral_Gier2 = Mess_Integral_Gier2; |
+ IntegralNick = Mess_IntegralNick; |
+ IntegralRoll = Mess_IntegralRoll; |
+ IntegralNick2 = Mess_IntegralNick2; |
+ IntegralRoll2 = Mess_IntegralRoll2; |
+ // ADC einschalten |
+ ANALOG_ON; |
+ |
+//------------------------------------------------------------------------------ |
+ if(MesswertNick > 200) MesswertNick += 4 * (MesswertNick - 200); |
+ else |
+ if(MesswertNick < -200) MesswertNick += 4 * (MesswertNick + 200); |
+ |
+ if(MesswertRoll > 200) MesswertRoll += 4 * (MesswertRoll - 200); |
+ else |
+ if(MesswertRoll < -200) MesswertRoll += 4 * (MesswertRoll + 200); |
+//------------------------------------------------------------------------------ |
+ if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--; |
+ if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--; |
+ if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--; |
+ if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--; |
+ if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255; |
+ if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255; |
+ if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255; |
+ if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255; |
+} |
+ |
+//############################################################################ |
+// Messwerte beim Ermitteln der Nullage |
+void CalibrierMittelwert(void) |
+//############################################################################ |
+{ |
+ // ADC auschalten, damit die Werte sich nicht während der Berechnung ändern |
+ ANALOG_OFF; |
+ if(MessanzahlNick) (MesswertNick = AccumulateNick / MessanzahlNick); |
+ if(MessanzahlRoll) (MesswertRoll = AccumulateRoll / MessanzahlRoll); |
+ if(MessanzahlGier) (MesswertGier = AccumulateGier / MessanzahlGier); |
+ if(messanzahl_AccNick) Mittelwert_AccNick = ((ACC_AMPLIFY * (long)accumulate_AccNick) / messanzahl_AccNick); |
+ if(messanzahl_AccRoll) Mittelwert_AccRoll = (ACC_AMPLIFY * (long)accumulate_AccRoll) / messanzahl_AccRoll; |
+ if(messanzahl_AccHoch) Mittelwert_AccHoch = ((long)accumulate_AccHoch) / messanzahl_AccHoch; |
+ AccumulateNick = 0; MessanzahlNick = 0; |
+ AccumulateRoll = 0; MessanzahlRoll = 0; |
+ AccumulateGier = 0; MessanzahlGier = 0; |
+ accumulate_AccRoll = 0;messanzahl_AccRoll = 0; |
+ accumulate_AccNick = 0;messanzahl_AccNick = 0; |
+ accumulate_AccHoch = 0;messanzahl_AccHoch = 0; |
+ // ADC einschalten |
+ ANALOG_ON; |
+ if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--; |
+ if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--; |
+ if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--; |
+ if(Poti4 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110) Poti4++; else if(Poti4 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]] + 110 && Poti4) Poti4--; |
+ if(Poti1 < 0) Poti1 = 0; else if(Poti1 > 255) Poti1 = 255; |
+ if(Poti2 < 0) Poti2 = 0; else if(Poti2 > 255) Poti2 = 255; |
+ if(Poti3 < 0) Poti3 = 0; else if(Poti3 > 255) Poti3 = 255; |
+ if(Poti4 < 0) Poti4 = 0; else if(Poti4 > 255) Poti4 = 255; |
+} |
+ |
+//############################################################################ |
+// Senden der Motorwerte per I2C-Bus |
+void SendMotorData(void) |
+//############################################################################ |
+{ |
+ if(MOTOR_OFF || !MotorenEin) |
+ { |
+ Motor_Hinten = 0; |
+ Motor_Vorne = 0; |
+ Motor_Rechts = 0; |
+ Motor_Links = 0; |
+ if(MotorTest[0]) Motor_Vorne = MotorTest[0]; |
+ if(MotorTest[1]) Motor_Hinten = MotorTest[1]; |
+ if(MotorTest[2]) Motor_Links = MotorTest[2]; |
+ if(MotorTest[3]) Motor_Rechts = MotorTest[3]; |
+ } |
+ |
+ DebugOut.Analog[12] = Motor_Vorne; |
+ DebugOut.Analog[13] = Motor_Hinten; |
+ DebugOut.Analog[14] = Motor_Links; |
+ DebugOut.Analog[15] = Motor_Rechts; |
+ |
+ //Start I2C Interrupt Mode |
+ twi_state = 0; |
+ motor = 0; |
+ i2c_start(); |
+} |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Konstanten |
+// + 0-250 -> normale Werte |
+// + 251 -> Poti1 |
+// + 252 -> Poti2 |
+// + 253 -> Poti3 |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+void DefaultKonstanten1(void) |
+{ |
+ EE_Parameter.Kanalbelegung[K_NICK] = 1; |
+ EE_Parameter.Kanalbelegung[K_ROLL] = 2; |
+ EE_Parameter.Kanalbelegung[K_GAS] = 3; |
+ EE_Parameter.Kanalbelegung[K_GIER] = 4; |
+ EE_Parameter.Kanalbelegung[K_POTI1] = 5; |
+ EE_Parameter.Kanalbelegung[K_POTI2] = 6; |
+ EE_Parameter.Kanalbelegung[K_POTI3] = 7; |
+ EE_Parameter.Kanalbelegung[K_POTI4] = 8; |
+ EE_Parameter.GlobalConfig = 0;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV | CFG_KOMPASS_FIX;//0x01; |
+ EE_Parameter.Hoehe_MinGas = 30; |
+ EE_Parameter.MaxHoehe = 251; // Wert : 0-32 251 -> Poti1 |
+ EE_Parameter.Hoehe_P = 10; // Wert : 0-32 |
+ EE_Parameter.Luftdruck_D = 70; // Wert : 0-250 |
+ EE_Parameter.Hoehe_ACC_Wirkung = 30; // Wert : 0-250 |
+ EE_Parameter.Hoehe_Verstaerkung = 2; // Wert : 0-50 |
+ EE_Parameter.Stick_P = 4; //2 // Wert : 1-6 |
+ EE_Parameter.Stick_D = 8; //8 // Wert : 0-64 |
+ EE_Parameter.Gier_P = 16; // Wert : 1-20 |
+ EE_Parameter.Gas_Min = 15; // Wert : 0-32 |
+ EE_Parameter.Gas_Max = 250; // Wert : 33-250 |
+ EE_Parameter.GyroAccFaktor = 26; // Wert : 1-64 |
+ EE_Parameter.KompassWirkung = 16; // Wert : 0-250 |
+ EE_Parameter.Gyro_P = 120; //80 // Wert : 0-250 |
+ EE_Parameter.Gyro_I = 150; // Wert : 0-250 |
+ EE_Parameter.UnterspannungsWarnung = 90; // Wert : 0-250 |
+ EE_Parameter.NotGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust |
+ EE_Parameter.NotGasZeit = 20; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen |
+ EE_Parameter.UfoAusrichtung = 0; // X oder + Formation |
+ EE_Parameter.I_Faktor = 5; |
+ EE_Parameter.UserParam1 = 120; //zur freien Verwendung |
+ EE_Parameter.UserParam2 = 120; //zur freien Verwendung |
+ EE_Parameter.UserParam3 = 0; //zur freien Verwendung |
+ EE_Parameter.UserParam4 = 0; //zur freien Verwendung |
+ EE_Parameter.ServoNickControl = 100; // Wert : 0-250 // Stellung des Servos |
+ EE_Parameter.ServoNickComp = 40; // Wert : 0-250 // Einfluss Gyro/Servo |
+ EE_Parameter.ServoNickCompInvert = 0; // Wert : 0-250 // Richtung Einfluss Gyro/Servo |
+ EE_Parameter.ServoNickMin = 50; // Wert : 0-250 // Anschlag |
+ EE_Parameter.ServoNickMax = 150; // Wert : 0-250 // Anschlag |
+ EE_Parameter.ServoNickRefresh = 5; |
+ memcpy(EE_Parameter.Name, "Normal\0", 12); |
+} |
+ |
+void DefaultKonstanten2(void) |
+{ |
+ EE_Parameter.Kanalbelegung[K_NICK] = 1; |
+ EE_Parameter.Kanalbelegung[K_ROLL] = 2; |
+ EE_Parameter.Kanalbelegung[K_GAS] = 3; |
+ EE_Parameter.Kanalbelegung[K_GIER] = 4; |
+ EE_Parameter.Kanalbelegung[K_POTI1] = 5; |
+ EE_Parameter.Kanalbelegung[K_POTI2] = 6; |
+ EE_Parameter.Kanalbelegung[K_POTI3] = 7; |
+ EE_Parameter.GlobalConfig = 0;//CFG_HOEHENREGELUNG | /*CFG_HOEHEN_SCHALTER |*/ CFG_KOMPASS_AKTIV;//0x01; |
+ EE_Parameter.Hoehe_MinGas = 30; |
+ EE_Parameter.MaxHoehe = 251; // Wert : 0-32 251 -> Poti1 |
+ EE_Parameter.Hoehe_P = 10; // Wert : 0-32 |
+ EE_Parameter.Luftdruck_D = 50; // Wert : 0-250 |
+ EE_Parameter.Hoehe_ACC_Wirkung = 50; // Wert : 0-250 |
+ EE_Parameter.Hoehe_Verstaerkung = 2; // Wert : 0-50 |
+ EE_Parameter.Stick_P = 4; //2 // Wert : 1-6 |
+ EE_Parameter.Stick_D = 0; //8 // Wert : 0-64 |
+ EE_Parameter.Gier_P = 16; // Wert : 1-20 |
+ EE_Parameter.Gas_Min = 15; // Wert : 0-32 |
+ EE_Parameter.Gas_Max = 250; // Wert : 33-250 |
+ EE_Parameter.GyroAccFaktor = 26; // Wert : 1-64 |
+ EE_Parameter.KompassWirkung = 16; // Wert : 0-250 |
+ EE_Parameter.Gyro_P = 175; //80 // Wert : 0-250 |
+ EE_Parameter.Gyro_I = 175; // Wert : 0-250 |
+ EE_Parameter.UnterspannungsWarnung = 90; // Wert : 0-250 |
+ EE_Parameter.NotGas = 35; // Wert : 0-250 // Gaswert bei Empangsverlust |
+ EE_Parameter.NotGasZeit = 20; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen |
+ EE_Parameter.UfoAusrichtung = 0; // X oder + Formation |
+ EE_Parameter.I_Faktor = 5; |
+ EE_Parameter.UserParam1 = 120; //zur freien Verwendung |
+ EE_Parameter.UserParam2 = 120; //zur freien Verwendung |
+ EE_Parameter.UserParam3 = 0; //zur freien Verwendung |
+ EE_Parameter.UserParam4 = 0; //zur freien Verwendung |
+ EE_Parameter.UserParam3 = 0; //zur freien Verwendung |
+ EE_Parameter.UserParam4 = 0; //zur freien Verwendung |
+ EE_Parameter.ServoNickControl = 100; // Wert : 0-250 // Stellung des Servos |
+ EE_Parameter.ServoNickComp = 40; // Wert : 0-250 // Einfluss Gyro/Servo |
+ EE_Parameter.ServoNickCompInvert = 0; // Wert : 0-250 // Richtung Einfluss Gyro/Servo |
+ EE_Parameter.ServoNickMin = 50; // Wert : 0-250 // Anschlag |
+ EE_Parameter.ServoNickMax = 150; // Wert : 0-250 // Anschlag |
+ EE_Parameter.ServoNickRefresh = 5; |
+ memcpy(EE_Parameter.Name, "Kamera\0", 12); |
+} |
+ |
+ |
+//############################################################################ |
+// Trägt ggf. das Poti als Parameter ein |
+void ParameterZuordnung(void) |
+//############################################################################ |
+{ |
+ |
+ #define CHK_POTI(b,a,min,max) { if(a > 250) { if(a == 251) b = Poti1; else if(a == 252) b = Poti2; else if(a == 253) b = Poti3; else if(a == 254) b = Poti4;} else b = a; if(b <= min) b = min; else if(b >= max) b = max;} |
+ CHK_POTI(Parameter_MaxHoehe,EE_Parameter.MaxHoehe,0,255); |
+ CHK_POTI(Parameter_Luftdruck_D,EE_Parameter.Luftdruck_D,0,100); |
+ CHK_POTI(Parameter_Hoehe_P,EE_Parameter.Hoehe_P,0,100); |
+ CHK_POTI(Parameter_Hoehe_ACC_Wirkung,EE_Parameter.Hoehe_ACC_Wirkung,0,255); |
+ CHK_POTI(Parameter_KompassWirkung,EE_Parameter.KompassWirkung,0,255); |
+ CHK_POTI(Parameter_Gyro_P,EE_Parameter.Gyro_P,10,255); |
+ CHK_POTI(Parameter_Gyro_I,EE_Parameter.Gyro_I,0,255); |
+ CHK_POTI(Parameter_I_Faktor,EE_Parameter.I_Faktor,0,255); |
+ CHK_POTI(Parameter_UserParam1,EE_Parameter.UserParam1,0,255); |
+ CHK_POTI(Parameter_UserParam2,EE_Parameter.UserParam2,0,255); |
+ CHK_POTI(Parameter_UserParam3,EE_Parameter.UserParam3,0,255); |
+ CHK_POTI(Parameter_UserParam4,EE_Parameter.UserParam4,0,255); |
+ |
+ CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255); |
+ CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255); |
+ CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl,0,255); |
+ |
+ Ki = (float) Parameter_I_Faktor * 0.0001; |
+ MAX_GAS = EE_Parameter.Gas_Max; |
+ MIN_GAS = EE_Parameter.Gas_Min; |
+} |
+ |
+ |
+//############################################################################ |
+// |
+void MotorRegler(void) |
+//############################################################################ |
+{ |
+ int motorwert,pd_ergebnis,h,tmp_int; |
+ int GierMischanteil,GasMischanteil; |
+ static long SummeNick=0,SummeRoll=0; |
+ static long sollGier = 0,tmp_long,tmp_long2; |
+ static int IntegralFehlerNick = 0; |
+ static int IntegralFehlerRoll = 0; |
+ static unsigned int RcLostTimer; |
+ static unsigned char delay_neutral = 0; |
+ static unsigned char delay_einschalten = 0,delay_ausschalten = 0; |
+ static unsigned int modell_fliegt = 0; |
+ static int hoehenregler = 0; |
+ static char TimerWerteausgabe = 0; |
+ static char NeueKompassRichtungMerken = 0; |
+ Mittelwert(); |
+ |
+ GRN_ON; |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Gaswert ermitteln |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ GasMischanteil = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] + 120; |
+ if(GasMischanteil < 0) GasMischanteil = 0; |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Emfang schlecht |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ if(SenderOkay < 100) |
+ { |
+ if(!PcZugriff) beeptime = 500; |
+ if(RcLostTimer) RcLostTimer--; |
+ else |
+ { |
+ MotorenEin = 0; |
+ Notlandung = 0; |
+ } |
+ ROT_ON; |
+ if(modell_fliegt > 2000) // wahrscheinlich in der Luft --> langsam absenken |
+ { |
+ GasMischanteil = EE_Parameter.NotGas; |
+ Notlandung = 1; |
+ PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] = 0; |
+ PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] = 0; |
+ PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] = 0; |
+/* Poti1 = 65; |
+ Poti2 = 48; |
+ Poti3 = 0; |
+*/ } |
+ else MotorenEin = 0; |
+ } |
+ else |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Emfang gut |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ if(SenderOkay > 140) |
+ { |
+ Notlandung = 0; |
+ RcLostTimer = EE_Parameter.NotGasZeit * 50; |
+ if(GasMischanteil > 40) |
+ { |
+ if(modell_fliegt < 0xffff) modell_fliegt++; |
+ } |
+ if((modell_fliegt < 200) || (GasMischanteil < 40)) |
+ { |
+ SummeNick = 0; |
+ SummeRoll = 0; |
+ Mess_Integral_Gier = 0; |
+ Mess_Integral_Gier2 = 0; |
+ } |
+ if((GasMischanteil > 200) && MotorenEin == 0) |
+ { |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// auf Nullwerte kalibrieren |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75) // Neutralwerte |
+ { |
+ unsigned char setting; |
+ if(++delay_neutral > 200) // nicht sofort |
+ { |
+ GRN_OFF; |
+ SetNeutral(); |
+ MotorenEin = 0; |
+ delay_neutral = 0; |
+ modell_fliegt = 0; |
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70 || abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) > 70) |
+ { |
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 1; |
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 2; |
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 3; |
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 4; |
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 5; |
+ eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], setting); // aktiven Datensatz merken |
+ } |
+ ReadParameterSet(GetActiveParamSetNumber(), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
+ Piep(GetActiveParamSetNumber()); |
+ if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung aktiviert? |
+ { |
+ if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset(); |
+ } |
+ } |
+ } |
+ else delay_neutral = 0; |
+ } |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Gas ist unten |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ if(GasMischanteil < 35) |
+ { |
+ // Starten |
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75) |
+ { |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Einschalten |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ if(++delay_einschalten > 200) |
+ { |
+ delay_einschalten = 200; |
+ modell_fliegt = 1; |
+ MotorenEin = 1; |
+ sollGier = 0; |
+ Mess_Integral_Gier = 0; |
+ Mess_Integral_Gier2 = 0; |
+ Mess_IntegralNick = 0; |
+ Mess_IntegralRoll = 0; |
+ Mess_IntegralNick2 = IntegralNick; |
+ Mess_IntegralRoll2 = IntegralRoll; |
+ SummeNick = 0; |
+ SummeRoll = 0; |
+ } |
+ } |
+ else delay_einschalten = 0; |
+ //Auf Neutralwerte setzen |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Auschalten |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75) |
+ { |
+ if(++delay_ausschalten > 200) // nicht sofort |
+ { |
+ MotorenEin = 0; |
+ delay_ausschalten = 200; |
+ modell_fliegt = 0; |
+ } |
+ } |
+ else delay_ausschalten = 0; |
+ } |
+ } |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// neue Werte von der Funke |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ if(!NewPpmData-- || Notlandung) |
+ { |
+ ParameterZuordnung(); |
+ StickNick = PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_P; |
+ StickNick += PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_D; |
+ StickRoll = PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_P; |
+ StickRoll += PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_D; |
+ StickGier = -PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]; |
+ |
+ GyroFaktor = ((float)Parameter_Gyro_P + 10.0) / 256.0; |
+ IntegralFaktor = ((float) Parameter_Gyro_I) / 44000; |
+ |
+ if(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) IntegralFaktor = 0; |
+ if(GyroFaktor < 0) GyroFaktor = 0; |
+ if(IntegralFaktor < 0) IntegralFaktor = 0; |
+ } |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Bei Empfangsausfall im Flug |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ if(Notlandung) |
+ { |
+ StickGier = 0; |
+ StickNick = 0; |
+ StickRoll = 0; |
+ GyroFaktor = 0.1; |
+ IntegralFaktor = 0.005; |
+ } |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Gyro-Drift kompensieren |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+#define DRIFT_FAKTOR 3 |
+ if(ZaehlMessungen >= 1000 / DRIFT_FAKTOR) |
+ { |
+ IntegralFehlerNick = IntegralNick2 - IntegralNick; |
+ IntegralFehlerRoll = IntegralRoll2 - IntegralRoll; |
+ ZaehlMessungen = 0; |
+ if(IntegralFehlerNick > 500/DRIFT_FAKTOR) AdNeutralNick++; |
+ if(IntegralFehlerNick < -500/DRIFT_FAKTOR) AdNeutralNick--; |
+ if(IntegralFehlerRoll > 500/DRIFT_FAKTOR) AdNeutralRoll++; |
+ if(IntegralFehlerRoll < -500/DRIFT_FAKTOR) AdNeutralRoll--; |
+ //if(Mess_Integral_Gier2 > 500/DRIFT_FAKTOR) AdNeutralGier--; |
+ //if(Mess_Integral_Gier2 <-500/DRIFT_FAKTOR) AdNeutralGier++; |
+ ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern |
+ Mess_IntegralNick2 = IntegralNick; |
+ Mess_IntegralRoll2 = IntegralRoll; |
+ Mess_Integral_Gier2 = Integral_Gier; |
+ ANALOG_ON; // ADC einschalten |
+ } |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Integrale auf ACC-Signal abgleichen |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick) / 16; |
+ tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll) / 16; |
+#define AUSGLEICH 500 |
+ if(tmp_long > AUSGLEICH) tmp_long = AUSGLEICH; |
+ if(tmp_long < -AUSGLEICH) tmp_long =-AUSGLEICH; |
+ if(tmp_long2 > AUSGLEICH) tmp_long2 = AUSGLEICH; |
+ if(tmp_long2 <-AUSGLEICH) tmp_long2 =-AUSGLEICH; |
+ ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern |
+ Mess_IntegralNick -= tmp_long; |
+ Mess_IntegralRoll -= tmp_long2; |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Gieren |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ sollGier = StickGier; |
+ if(abs(StickGier) > 35) |
+ { |
+ if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX)) NeueKompassRichtungMerken = 1; |
+ } |
+ tmp_int = EE_Parameter.Gier_P * (sollGier * abs(sollGier)) / 256; // expo |
+ Mess_Integral_Gier -= tmp_int; |
+ if(Mess_Integral_Gier > 30000) Mess_Integral_Gier = 30000; // begrenzen |
+ if(Mess_Integral_Gier <-30000) Mess_Integral_Gier =-30000; |
+ |
+ ANALOG_ON; // ADC einschalten |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Kompass |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ if(KompassValue && (EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV)) |
+ { |
+ if(NeueKompassRichtungMerken) |
+ { |
+ KompassStartwert = KompassValue; |
+ NeueKompassRichtungMerken = 0; |
+ } |
+ ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern |
+ Mess_Integral_Gier -= (KompassRichtung * Parameter_KompassWirkung) / 32; // nach Kompass ausrichten |
+ ANALOG_ON; // ADC einschalten |
+ } |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Debugwerte zuordnen |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+DebugOut.Sekunden++; |
+ if(!TimerWerteausgabe--) |
+ { |
+ TimerWerteausgabe = 49; |
+// DebugOut.Analog[0] = MesswertNick; |
+// DebugOut.Analog[1] = MesswertRoll; |
+// DebugOut.Analog[2] = MesswertGier; |
+// DebugOut.Analog[0] = IntegralNick / EE_Parameter.GyroAccFaktor; |
+// DebugOut.Analog[1] = IntegralRoll / EE_Parameter.GyroAccFaktor; |
+ |
+ DebugOut.Analog[0] = MM3.NickGrad; |
+ DebugOut.Analog[1] = MM3.RollGrad; |
+ DebugOut.Analog[2] = Mittelwert_AccNick; |
+ DebugOut.Analog[3] = Mittelwert_AccRoll; |
+ DebugOut.Analog[4] = MesswertGier; |
+ DebugOut.Analog[5] = HoehenWert; |
+ DebugOut.Analog[6] = (Mess_Integral_Hoch / 512); |
+ DebugOut.Analog[7] = GasMischanteil; |
+ DebugOut.Analog[8] = KompassValue; |
+ |
+//DebugOut.Analog[8] = MM3_heading(); |
+DebugOut.Analog[9] = MM3.x_axis; |
+DebugOut.Analog[10] = MM3.y_axis; |
+DebugOut.Analog[11] = MM3.z_axis; |
+ |
+// DebugOut.Analog[9] = SollHoehe; |
+// DebugOut.Analog[10] = Mess_Integral_Gier / 128; |
+// DebugOut.Analog[11] = KompassStartwert; |
+// DebugOut.Analog[10] = Parameter_Gyro_I; |
+// DebugOut.Analog[10] = EE_Parameter.Gyro_I; |
+// DebugOut.Analog[9] = KompassRichtung; |
+// DebugOut.Analog[10] = GasMischanteil; |
+// DebugOut.Analog[3] = HoeheD * 32; |
+// DebugOut.Analog[4] = hoehenregler; |
+ } |
+ |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Drehgeschwindigkeit und -winkel zu einem Istwert zusammenfassen |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ MesswertNick = IntegralNick * IntegralFaktor + MesswertNick * GyroFaktor; |
+ MesswertRoll = IntegralRoll * IntegralFaktor + MesswertRoll * GyroFaktor; |
+ MesswertGier = MesswertGier * (GyroFaktor/2) + Integral_Gier * IntegralFaktor; |
+ // Maximalwerte abfangen |
+ #define MAX_SENSOR 2048 |
+ if(MesswertNick > MAX_SENSOR) MesswertNick = MAX_SENSOR; |
+ if(MesswertNick < -MAX_SENSOR) MesswertNick = -MAX_SENSOR; |
+ if(MesswertRoll > MAX_SENSOR) MesswertRoll = MAX_SENSOR; |
+ if(MesswertRoll < -MAX_SENSOR) MesswertRoll = -MAX_SENSOR; |
+ if(MesswertGier > MAX_SENSOR) MesswertGier = MAX_SENSOR; |
+ if(MesswertGier < -MAX_SENSOR) MesswertGier = -MAX_SENSOR; |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Höhenregelung |
+// Die Höhenregelung schwächt lediglich das Gas ab, erhöht es allerdings nicht |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+//OCR0B = 180 - (Poti1 + 120) / 4; |
+//DruckOffsetSetting = OCR0B; |
+ if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)) // Höhenregelung |
+ { |
+ int tmp_int; |
+ if(EE_Parameter.GlobalConfig & CFG_HOEHEN_SCHALTER) // Regler wird über Schalter gesteuert |
+ { |
+ if(Parameter_MaxHoehe < 50) |
+ { |
+ SollHoehe = HoehenWert - 20; // Parameter_MaxHoehe ist der PPM-Wert des Schalters |
+ HoehenReglerAktiv = 0; |
+ } |
+ else |
+ HoehenReglerAktiv = 1; |
+ } |
+ else |
+ { |
+ SollHoehe = Parameter_MaxHoehe * EE_Parameter.Hoehe_Verstaerkung - 20; |
+ HoehenReglerAktiv = 1; |
+ } |
+ |
+ if(Notlandung) SollHoehe = 0; |
+ h = HoehenWert; |
+ if((h > SollHoehe) && HoehenReglerAktiv) // zu hoch --> drosseln |
+ { h = ((h - SollHoehe) * (int) Parameter_Hoehe_P) / 16; // Differenz bestimmen --> P-Anteil |
+ h = GasMischanteil - h; // vom Gas abziehen |
+ h -= (HoeheD * Parameter_Luftdruck_D)/8; // D-Anteil |
+ tmp_int = ((Mess_Integral_Hoch / 512) * (signed long) Parameter_Hoehe_ACC_Wirkung) / 32; |
+ if(tmp_int > 50) tmp_int = 50; |
+ else if(tmp_int < -50) tmp_int = -50; |
+ h -= tmp_int; |
+ hoehenregler = (hoehenregler*15 + h) / 16; |
+ if(hoehenregler < EE_Parameter.Hoehe_MinGas) // nicht unter MIN |
+ { |
+ if(GasMischanteil >= EE_Parameter.Hoehe_MinGas) hoehenregler = EE_Parameter.Hoehe_MinGas; |
+ if(GasMischanteil < EE_Parameter.Hoehe_MinGas) hoehenregler = GasMischanteil; |
+ } |
+ if(hoehenregler > GasMischanteil) hoehenregler = GasMischanteil; // nicht mehr als Gas |
+ GasMischanteil = hoehenregler; |
+ } |
+ } |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// + Mischer und PI-Regler |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Gier-Anteil |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ GierMischanteil = MesswertGier - sollGier; // Regler für Gier |
+ if(GierMischanteil > 100) GierMischanteil = 100; |
+ if(GierMischanteil < -100) GierMischanteil = -100; |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Nick-Achse |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ DiffNick = Kp * (MesswertNick - (StickNick - GPS_Nick)); // Differenz bestimmen |
+ SummeNick += DiffNick; // I-Anteil |
+ if(SummeNick > 0) SummeNick-= (abs(SummeNick)/256 + 1); else SummeNick += abs(SummeNick)/256 + 1; |
+ if(SummeNick > 16000) SummeNick = 16000; |
+ if(SummeNick < -16000) SummeNick = -16000; |
+ pd_ergebnis = DiffNick + Ki * SummeNick; // PI-Regler für Nick |
+ // Motor Vorn |
+ motorwert = GasMischanteil + pd_ergebnis + GierMischanteil; // Mischer |
+ if ((motorwert < 0) | (GasMischanteil < 10)) motorwert = 0; |
+ else if(motorwert > MAX_GAS) motorwert = MAX_GAS; |
+ if (motorwert < MIN_GAS) motorwert = MIN_GAS; |
+ Motor_Vorne = motorwert; |
+ // Motor Heck |
+ motorwert = GasMischanteil - pd_ergebnis + GierMischanteil; |
+ if ((motorwert < 0) | (GasMischanteil < 10)) motorwert = 0; |
+ else if(motorwert > MAX_GAS) motorwert = MAX_GAS; |
+ if (motorwert < MIN_GAS) motorwert = MIN_GAS; |
+ Motor_Hinten = motorwert; |
+ |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+// Roll-Achse |
+// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
+ DiffRoll = Kp * (MesswertRoll - (StickRoll - GPS_Roll)); // Differenz bestimmen |
+ SummeRoll += DiffRoll; // I-Anteil |
+ if(SummeRoll > 0) SummeRoll-= (abs(SummeRoll)/256 + 1); else SummeRoll += abs(SummeRoll)/256 + 1; |
+ if(SummeRoll > 16000) SummeRoll = 16000; |
+ if(SummeRoll < -16000) SummeRoll = -16000; |
+ pd_ergebnis = DiffRoll + Ki * SummeRoll; // PI-Regler für Roll |
+ // Motor Links |
+ motorwert = GasMischanteil + pd_ergebnis - GierMischanteil; |
+ if ((motorwert < 0) | (GasMischanteil < 10)) motorwert = 0; |
+ else if(motorwert > MAX_GAS) motorwert = MAX_GAS; |
+ if (motorwert < MIN_GAS) motorwert = MIN_GAS; |
+ Motor_Links = motorwert; |
+ // Motor Rechts |
+ motorwert = GasMischanteil - pd_ergebnis - GierMischanteil; |
+ if ((motorwert < 0) | (GasMischanteil < 10)) motorwert = 0; |
+ else if(motorwert > MAX_GAS) motorwert = MAX_GAS; |
+ if (motorwert < MIN_GAS) motorwert = MIN_GAS; |
+ Motor_Rechts = motorwert; |
+ // +++++++++++++++++++++++++++++++++++++++++++++++ |
+ |
+} |
+ |
/branches/v0.60_MicroMag3_Nick666/trunc/fc.d |
---|
0,0 → 1,2 |
fc.o fc.d : fc.c main.h old_macros.h _settings.h printf_P.h compass.h timer0.h \ |
uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/fc.h |
---|
0,0 → 1,117 |
/*####################################################################################### |
Flight Control |
#######################################################################################*/ |
#ifndef _FC_H |
#define _FC_H |
extern volatile unsigned char Timeout; |
extern unsigned char Sekunde,Minute; |
extern volatile long IntegralNick,IntegralNick2; |
extern volatile long IntegralRoll,IntegralRoll2; |
extern volatile long Mess_IntegralNick,Mess_IntegralNick2; |
extern volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
extern volatile long Mess_Integral_Hoch; |
extern volatile long Integral_Gier,Mess_Integral_Gier,Mess_Integral_Gier2; |
extern volatile int KompassValue; |
extern volatile int KompassStartwert; |
extern volatile int KompassRichtung; |
extern int HoehenWert; |
extern int SollHoehe; |
extern volatile int MesswertNick,MesswertRoll,MesswertGier; |
extern volatile int AdNeutralNick,AdNeutralRoll,AdNeutralGier, Mittelwert_AccNick, Mittelwert_AccRoll; |
extern volatile int NeutralAccX, NeutralAccY,Mittelwert_AccHoch; |
extern volatile float NeutralAccZ; |
void MotorRegler(void); |
void SendMotorData(void); |
void CalibrierMittelwert(void); |
void Mittelwert(void); |
void SetNeutral(void); |
void Piep(unsigned char Anzahl); |
void DefaultKonstanten1(void); |
void DefaultKonstanten2(void); |
unsigned char h,m,s; |
volatile unsigned char Timeout ; |
unsigned char CosinusNickWinkel, CosinusRollWinkel; |
volatile long IntegralNick,IntegralNick2; |
volatile long IntegralRoll,IntegralRoll2; |
volatile long Integral_Gier; |
volatile long Mess_IntegralNick,Mess_IntegralNick2; |
volatile long Mess_IntegralRoll,Mess_IntegralRoll2; |
volatile long Mess_Integral_Gier; |
volatile int DiffNick,DiffRoll; |
extern int Poti1, Poti2, Poti3, Poti4; |
volatile unsigned char Motor_Vorne,Motor_Hinten,Motor_Rechts,Motor_Links, Count; |
unsigned char MotorWert[5]; |
volatile unsigned char SenderOkay; |
int StickNick,StickRoll,StickGier; |
char MotorenEin; |
extern void DefaultKonstanten(void); |
#define STRUCT_PARAM_LAENGE 58 |
struct mk_param_struct |
{ |
unsigned char Kanalbelegung[8]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3 |
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv |
unsigned char Hoehe_MinGas; // Wert : 0-100 |
unsigned char Luftdruck_D; // Wert : 0-250 |
unsigned char MaxHoehe; // Wert : 0-32 |
unsigned char Hoehe_P; // Wert : 0-32 |
unsigned char Hoehe_Verstaerkung; // Wert : 0-50 |
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250 |
unsigned char Stick_P; // Wert : 1-6 |
unsigned char Stick_D; // Wert : 0-64 |
unsigned char Gier_P; // Wert : 1-20 |
unsigned char Gas_Min; // Wert : 0-32 |
unsigned char Gas_Max; // Wert : 33-250 |
unsigned char GyroAccFaktor; // Wert : 1-64 |
unsigned char KompassWirkung; // Wert : 0-32 |
unsigned char Gyro_P; // Wert : 10-250 |
unsigned char Gyro_I; // Wert : 0-250 |
unsigned char UnterspannungsWarnung; // Wert : 0-250 |
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust |
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen |
unsigned char UfoAusrichtung; // X oder + Formation |
unsigned char I_Faktor; // Wert : 0-250 |
unsigned char UserParam1; // Wert : 0-250 |
unsigned char UserParam2; // Wert : 0-250 |
unsigned char UserParam3; // Wert : 0-250 |
unsigned char UserParam4; // Wert : 0-250 |
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos |
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo |
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag |
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag |
unsigned char ServoNickRefresh; // Wert : 0-250 // Richtung Einfluss Gyro/Servo |
unsigned char ServoNickCompInvert; // Wert : 0-250 // Richtung Einfluss Gyro/Servo |
unsigned char Reserved[7]; |
char Name[12]; |
}; |
typedef struct |
{ |
int X; |
int Y; |
float Z; |
}acc_neutral_struct; |
extern acc_neutral_struct acc_neutral; |
extern void Neutral_calib(void); |
extern struct mk_param_struct EE_Parameter; |
extern unsigned char Parameter_Luftdruck_D; |
extern unsigned char Parameter_MaxHoehe; |
extern unsigned char Parameter_Hoehe_P; |
extern unsigned char Parameter_Hoehe_ACC_Wirkung; |
extern unsigned char Parameter_KompassWirkung; |
extern unsigned char Parameter_Gyro_P; |
extern unsigned char Parameter_Gyro_I; |
extern unsigned char Parameter_Gier_P; |
extern unsigned char Parameter_ServoNickControl; |
#endif //_FC_H |
/branches/v0.60_MicroMag3_Nick666/trunc/flight.pnproj |
---|
0,0 → 1,0 |
<Project name="Flight-Ctrl"><File path="uart.h"></File><File path="main.c"></File><File path="main.h"></File><File path="makefile"></File><File path="uart.c"></File><File path="printf_P.h"></File><File path="printf_P.c"></File><File path="timer0.c"></File><File path="timer0.h"></File><File path="old_macros.h"></File><File path="twimaster.c"></File><File path="version.txt"></File><File path="twimaster.h"></File><File path="rc.c"></File><File path="rc.h"></File><File path="fc.h"></File><File path="fc.c"></File><File path="menu.h"></File><File path="menu.c"></File><File path="_Settings.h"></File><File path="analog.c"></File><File path="analog.h"></File><File path="GPS.c"></File><File path="gps.h"></File><File path="License.txt"></File><File path="math.c"></File><File path="math.h"></File><File path="compass.c"></File><File path="compass.h"></File></Project> |
/branches/v0.60_MicroMag3_Nick666/trunc/flight.pnps |
---|
0,0 → 1,0 |
<pd><ViewState><e p="Flight-Ctrl" x="true"></e></ViewState></pd> |
/branches/v0.60_MicroMag3_Nick666/trunc/gps.h |
---|
0,0 → 1,4 |
extern signed int GPS_Nick; |
extern signed int GPS_Roll; |
extern void GPS_Neutral(void); |
extern void GPS_BerechneZielrichtung(void); |
/branches/v0.60_MicroMag3_Nick666/trunc/license_buss.txt |
---|
0,0 → 1,52 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Copyright (c) 04.2007 Holger Buss |
// + Nur für den privaten Gebrauch |
// + www.MikroKopter.com |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Es gilt für das gesamte Projekt (Hardware, Software, Binärfiles, Sourcecode und Dokumentation), |
// + dass eine Nutzung (auch auszugsweise) nur für den privaten und nichtkommerziellen Gebrauch zulässig ist. |
// + Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit uns (info@mikrokopter.de) Kontakt |
// + bzgl. der Nutzungsbedingungen aufzunehmen. |
// + Eine kommerzielle Nutzung ist z.B.Verkauf von MikroKoptern, Bestückung und Verkauf von Platinen oder Bausätzen, |
// + Verkauf von Luftbildaufnahmen, usw. |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Werden Teile des Quellcodes (mit oder ohne Modifikation) weiterverwendet oder veröffentlicht, |
// + unterliegen sie auch diesen Nutzungsbedingungen und diese Nutzungsbedingungen incl. Copyright müssen dann beiliegen |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Sollte die Software (auch auszugesweise) oder sonstige Informationen des MikroKopter-Projekts |
// + auf anderen Webseiten oder sonstigen Medien veröffentlicht werden, muss unsere Webseite "http://www.mikrokopter.de" |
// + eindeutig als Ursprung verlinkt und genannt werden |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion |
// + Benutzung auf eigene Gefahr |
// + Wir übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Die Portierung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur |
// + mit unserer Zustimmung zulässig |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Redistributions of source code (with or without modifications) must retain the above copyright notice, |
// + this list of conditions and the following disclaimer. |
// + * Neither the name of the copyright holders nor the names of contributors may be used to endorse or promote products derived |
// + from this software without specific prior written permission. |
// + * The use of this project (hardware, software, binary files, sources and documentation) is only permittet |
// + for non-profit use (directly or indirectly) |
// + Commercial use (for excample: selling of MikroKopters, selling of PCBs, assembly, ...) is only permitted |
// + with our written permission |
// + * If sources or documentations are redistributet, our webpage (http://www.MikroKopter.de) must be |
// + clearly linked and named as origin |
// + * porting to systems other than hardware from www.mikrokopter.de is not allowed |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
// + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
// + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
// + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
// + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
// + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
// + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
// + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
// + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
// + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
// + POSSIBILITY OF SUCH DAMAGE. |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
/branches/v0.60_MicroMag3_Nick666/trunc/main.c |
---|
0,0 → 1,231 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Copyright (c) 04.2007 Holger Buss |
// + Nur für den privaten Gebrauch |
// + www.MikroKopter.com |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Es gilt für das gesamte Projekt (Hardware, Software, Binärfiles, Sourcecode und Dokumentation), |
// + dass eine Nutzung (auch auszugsweise) nur für den privaten und nicht-kommerziellen Gebrauch zulässig ist. |
// + Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit uns (info@mikrokopter.de) Kontakt |
// + bzgl. der Nutzungsbedingungen aufzunehmen. |
// + Eine kommerzielle Nutzung ist z.B.Verkauf von MikroKoptern, Bestückung und Verkauf von Platinen oder Bausätzen, |
// + Verkauf von Luftbildaufnahmen, usw. |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Werden Teile des Quellcodes (mit oder ohne Modifikation) weiterverwendet oder veröffentlicht, |
// + unterliegen sie auch diesen Nutzungsbedingungen und diese Nutzungsbedingungen incl. Copyright müssen dann beiliegen |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Sollte die Software (auch auszugesweise) oder sonstige Informationen des MikroKopter-Projekts |
// + auf anderen Webseiten oder Medien veröffentlicht werden, muss unsere Webseite "http://www.mikrokopter.de" |
// + eindeutig als Ursprung verlinkt und genannt werden |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion |
// + Benutzung auf eigene Gefahr |
// + Wir übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Die Portierung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur |
// + mit unserer Zustimmung zulässig |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Redistributions of source code (with or without modifications) must retain the above copyright notice, |
// + this list of conditions and the following disclaimer. |
// + * Neither the name of the copyright holders nor the names of contributors may be used to endorse or promote products derived |
// + from this software without specific prior written permission. |
// + * The use of this project (hardware, software, binary files, sources and documentation) is only permittet |
// + for non-commercial use (directly or indirectly) |
// + Commercial use (for excample: selling of MikroKopters, selling of PCBs, assembly, ...) is only permitted |
// + with our written permission |
// + * If sources or documentations are redistributet on other webpages, out webpage (http://www.MikroKopter.de) must be |
// + clearly linked as origin |
// + * porting to systems other than hardware from www.mikrokopter.de is not allowed |
// + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
// + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
// + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
// + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
// + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
// + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
// + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
// + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
// + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
// + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
// + POSSIBILITY OF SUCH DAMAGE. |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "main.h" |
// unsigned char EEPromArray[E2END+1] EEMEM; |
unsigned char EEPromArray[501] EEMEM; |
// -- Parametersatz aus EEPROM lesen --- |
// number [0..5] |
void ReadParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
{ |
if (number > 5) number = 5; |
eeprom_read_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
} |
// -- Parametersatz ins EEPROM schreiben --- |
// number [0..5] |
void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length) |
{ |
if (number > 5) number = 5; |
eeprom_write_block(buffer, &EEPromArray[EEPROM_ADR_PARAM_BEGIN + length * number], length); |
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], number); // diesen Parametersatz als aktuell merken |
} |
unsigned char GetActiveParamSetNumber(void) |
{ |
return(eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET])); |
} |
//############################################################################ |
//Hauptprogramm |
int main (void) |
//############################################################################ |
{ |
unsigned int timer; |
unsigned int timer2 = 0; |
DDRC = 0x01; // SCL |
PORTC = 0xff; // Pullup SDA |
DDRB = 0x1B; // LEDs und Druckoffset |
PORTB |= (1<<PB0); // LED_Rot |
DDRD = 0x3E; // Speaker & TXD & J3 J4 J5 |
DDRD |= (1<<PD7); // J7 |
PORTD = 0xF7; |
MCUSR &=~(1<<WDRF); |
WDTCSR |= (1<<WDCE)|(1<<WDE); |
WDTCSR = 0; |
beeptime = 1000; |
StickGier = 0; PPM_in[K_GAS] = 0;StickRoll = 0; StickNick = 0; |
ROT_OFF; |
Timer_Init(); |
UART_Init(); |
rc_sum_init(); |
ADC_Init(); |
i2c_init(); |
MM3_init(); |
sei(); |
VersionInfo.Hauptversion = VERSION_HAUPTVERSION; |
VersionInfo.Nebenversion = VERSION_NEBENVERSION; |
VersionInfo.PCKompatibel = VERSION_KOMPATIBEL; |
printf("\n\rFlightControl V%d.%d ", VERSION_HAUPTVERSION, VERSION_NEBENVERSION); |
printf("\n\r=============================="); |
GRN_ON; |
if(eeprom_read_byte(&EEPromArray[EEPROM_ADR_VALID]) != 59) // seit V 0.60 |
{ |
printf("\n\rInit. EEPROM: Generiere Default-Parameter..."); |
DefaultKonstanten1(); |
for (unsigned char i=0;i<6;i++) |
{ |
if(i==2) DefaultKonstanten2(); |
WriteParameterSet(i, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
} |
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], 1); |
eeprom_write_byte(&EEPromArray[EEPROM_ADR_VALID], 59); |
} |
ReadParameterSet(GetActiveParamSetNumber(), (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
printf("\n\rBenutze Parametersatz %d", GetActiveParamSetNumber()); |
//kurze Wartezeit (sonst reagiert die "Kompass kalibrieren?"-Abfrage nicht |
timer = SetDelay(500); |
while(!CheckDelay(timer)); |
//Kompass kalibrieren? |
if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] > 100 && PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 100) |
{ |
printf("\n\rKalibriere Kompass"); |
if(EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV) calib_MM3(); |
} |
//Neutrallage kalibrieren? |
if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] > 100 && PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -100) |
{ |
printf("\n\rKalibriere Neutrallage"); |
Neutral_calib(); |
} |
if(EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG) |
{ |
printf("\n\rAbgleich Luftdrucksensor.."); |
timer = SetDelay(2500); |
SucheLuftruckOffset(); |
while (!CheckDelay(timer)); |
printf("OK\n\r"); |
} |
SetNeutral(); |
ROT_OFF; |
beeptime = 2000; |
DebugIn.Analog[1] = 1000; |
DebugIn.Digital[0] = 0x55; |
printf("\n\rSteuerung: "); |
if (EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) printf("HeadingHold"); |
else printf("Neutral"); |
printf("\n\n\r"); |
LcdClear(); |
while (1) |
{ |
if (UpdateMotor) // ReglerIntervall |
{ |
UpdateMotor=0; |
MotorRegler(); |
SendMotorData(); |
ROT_OFF; |
if(PcZugriff) PcZugriff--; |
if(SenderOkay) SenderOkay--; |
if (UBat < EE_Parameter.UnterspannungsWarnung) |
{ |
beeptime = 2000; |
} |
if(!Timeout) |
{ |
i2c_init(); |
} |
else |
{ |
ROT_OFF; |
} |
} |
if(SIO_DEBUG) |
{ |
DatenUebertragung(); |
BearbeiteRxDaten(); |
} |
else BearbeiteRxDaten(); |
if(CheckDelay(timer2)) |
{ |
if(MotorenEin) PORTC ^= 0x10; else PORTC &= ~0x10; |
timer = SetDelay(500); |
} |
} |
return (1); |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/main.d |
---|
0,0 → 1,2 |
main.o main.d : main.c main.h old_macros.h _settings.h printf_P.h compass.h \ |
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/main.h |
---|
0,0 → 1,94 |
#ifndef _MAIN_H |
#define _MAIN_H |
//Hier die Quarz Frequenz einstellen |
#if defined (__AVR_ATmega32__) |
#define SYSCLK 20000000L //Quarz Frequenz in Hz |
#endif |
#if defined (__AVR_ATmega644__) |
#define SYSCLK 20000000L //Quarz Frequenz in Hz |
//#define SYSCLK 16000000L //Quarz Frequenz in Hz |
#endif |
// neue Hardware |
#define ROT_OFF PORTB &=~(1<<PB0) |
#define ROT_ON PORTB |= (1<<PB0) |
#define ROT_FLASH PORTB ^= (1<<PB0) |
#define GRN_OFF PORTB &=~(1<<PB1) |
#define GRN_ON PORTB |= (1<<PB1) |
#define GRN_FLASH PORTD ^= (1<<PB1) |
//#ifndef F_CPU |
//#error ################## F_CPU nicht definiert oder ungültig ############# |
//#endif |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
//#define ANZ_MITTELWERT 4 |
#define EEPROM_ADR_VALID 1 |
#define EEPROM_ADR_ACTIVE_SET 2 |
#define EEPROM_ADR_PARAM_BEGIN 100 |
#define CFG_HOEHENREGELUNG 0x01 |
#define CFG_HOEHEN_SCHALTER 0x02 |
#define CFG_HEADING_HOLD 0x04 |
#define CFG_KOMPASS_AKTIV 0x08 |
#define CFG_KOMPASS_FIX 0x10 |
#define CFG_GPS_AKTIV 0x20 |
//#define SYSCLK |
//extern unsigned long SYSCLK; |
extern volatile int i_Nick[20],i_Roll[20],DiffNick,DiffRoll; |
extern volatile unsigned char SenderOkay; |
extern unsigned char CosinusNickWinkel, CosinusRollWinkel; |
extern void ReadParameterSet (unsigned char number, unsigned char *buffer, unsigned char length); |
extern void WriteParameterSet(unsigned char number, unsigned char *buffer, unsigned char length); |
extern unsigned char GetActiveParamSetNumber(void); |
extern unsigned char EEPromArray[]; |
#include <stdlib.h> |
#include <string.h> |
#include <avr/io.h> |
#include <avr/pgmspace.h> |
#include <avr/interrupt.h> |
#include <avr/eeprom.h> |
#include <avr/boot.h> |
#include <avr/wdt.h> |
#include "old_macros.h" |
#include "_settings.h" |
#include "printf_P.h" |
#include "compass.h" |
#include "timer0.h" |
#include "uart.h" |
#include "analog.h" |
#include "twimaster.h" |
#include "menu.h" |
#include "rc.h" |
#include "fc.h" |
#include "gps.h" |
#include "math.h" |
#ifndef EEMEM |
#define EEMEM __attribute__ ((section (".eeprom"))) |
#endif |
#define DEBUG_DISPLAY_INTERVALL 123 // in ms |
#define DELAY_US(x) ((unsigned int)( (x) * 1e-6 * F_CPU )) |
#endif //_MAIN_H |
/branches/v0.60_MicroMag3_Nick666/trunc/makefile |
---|
0,0 → 1,393 |
#-------------------------------------------------------------------- |
# MCU name |
MCU = atmega644 |
F_CPU = 20000000 |
#------------------------------------------------------------------- |
HAUPT_VERSION = 0 |
NEBEN_VERSION = 60 |
VERSION_KOMPATIBEL = 4 # PC-Kompatibilität |
#------------------------------------------------------------------- |
ifeq ($(MCU), atmega32) |
# FUSE_SETTINGS= -u -U lfuse:w:0xff:m -U hfuse:w:0xcf:m |
HEX_NAME = MEGA32 |
endif |
ifeq ($(MCU), atmega644) |
FUSE_SETTINGS = -u -U lfuse:w:0xff:m -U hfuse:w:0xdf:m |
#FUSE_SETTINGS = -U lfuse:w:0xff:m -U hfuse:w:0xdf:m |
# -u bei neuen Controllern wieder einspielen |
HEX_NAME = MEGA644 |
endif |
ifeq ($(F_CPU), 16000000) |
QUARZ = 16MHZ |
endif |
ifeq ($(F_CPU), 20000000) |
QUARZ = 20MHZ |
endif |
# Output format. (can be srec, ihex, binary) |
FORMAT = ihex |
# Target file name (without extension). |
TARGET = Flight-Ctrl_$(HEX_NAME)_V$(HAUPT_VERSION)_$(NEBEN_VERSION)_MM3 |
# Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization. |
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.) |
OPT = s |
########################################################################################################## |
# List C source files here. (C dependencies are automatically generated.) |
SRC = main.c uart.c printf_P.c timer0.c analog.c menu.c compass.c math.c |
SRC += twimaster.c rc.c fc.c GPS.c |
########################################################################################################## |
# List Assembler source files here. |
# Make them always end in a capital .S. Files ending in a lowercase .s |
# will not be considered source files but generated files (assembler |
# output from the compiler), and will be deleted upon "make clean"! |
# Even though the DOS/Win* filesystem matches both .s and .S the same, |
# it will preserve the spelling of the filenames, and gcc itself does |
# care about how the name is spelled on its command-line. |
ASRC = |
# List any extra directories to look for include files here. |
# Each directory must be seperated by a space. |
EXTRAINCDIRS = |
# Optional compiler flags. |
# -g: generate debugging information (for GDB, or for COFF conversion) |
# -O*: optimization level |
# -f...: tuning, see gcc manual and avr-libc documentation |
# -Wall...: warning level |
# -Wa,...: tell GCC to pass this to the assembler. |
# -ahlms: create assembler listing |
CFLAGS = -O$(OPT) \ |
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \ |
-Wall -Wstrict-prototypes \ |
-mtiny-stack -mcall-prologues \ |
#-Wno-pointer-sign \ |
-Wa,-adhlns=$(<:.c=.lst) \ |
$(patsubst %,-I%,$(EXTRAINCDIRS)) |
# Set a "language standard" compiler flag. |
# Unremark just one line below to set the language standard to use. |
# gnu99 = C99 + GNU extensions. See GCC manual for more information. |
#CFLAGS += -std=c89 |
#CFLAGS += -std=gnu89 |
#CFLAGS += -std=c99 |
CFLAGS += -std=gnu99 |
CFLAGS += -DVERSION_HAUPTVERSION=$(HAUPT_VERSION) -DVERSION_NEBENVERSION=$(NEBEN_VERSION) -DVERSION_KOMPATIBEL=$(VERSION_KOMPATIBEL) |
# Optional assembler flags. |
# -Wa,...: tell GCC to pass this to the assembler. |
# -ahlms: create listing |
# -gstabs: have the assembler create line number information; note that |
# for use in COFF files, additional information about filenames |
# and function names needs to be present in the assembler source |
# files -- see avr-libc docs [FIXME: not yet described there] |
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs |
# Optional linker flags. |
# -Wl,...: tell GCC to pass this to linker. |
# -Map: create map file |
# --cref: add cross reference to map file |
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref |
# Additional libraries |
# Minimalistic printf version |
#LDFLAGS += -Wl,-u,vfprintf -lprintf_min |
# Floating point printf version (requires -lm below) |
#LDFLAGS += -Wl,-u,vfprintf -lprintf_flt |
# -lm = math library |
LDFLAGS += -lm |
##LDFLAGS += -T./linkerfile/avr5.x |
# Programming support using avrdude. Settings and variables. |
# Programming hardware: alf avr910 avrisp bascom bsd |
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500 |
# |
# Type: avrdude -c ? |
# to get a full listing. |
# |
#AVRDUDE_PROGRAMMER = stk200 |
AVRDUDE_PROGRAMMER = dt006 |
#AVRDUDE_PROGRAMMER = ponyser |
#falls Ponyser ausgewählt wird, muss sich unsere avrdude-Configdatei im Bin-Verzeichnis des Compilers befinden |
#AVRDUDE_PORT = com1 # programmer connected to serial device |
AVRDUDE_PORT = lpt1 # programmer connected to parallel port |
#AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex |
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex $(FUSE_SETTINGS) |
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep |
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) |
# Uncomment the following if you want avrdude's erase cycle counter. |
# Note that this counter needs to be initialized first using -Yn, |
# see avrdude manual. |
#AVRDUDE_ERASE += -y |
# Uncomment the following if you do /not/ wish a verification to be |
# performed after programming the device. |
AVRDUDE_FLAGS += -V |
# Increase verbosity level. Please use this when submitting bug |
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude> |
# to submit bug reports. |
#AVRDUDE_FLAGS += -v -v |
# --------------------------------------------------------------------------- |
# Define directories, if needed. |
DIRAVR = c:/winavr |
DIRAVRBIN = $(DIRAVR)/bin |
DIRAVRUTILS = $(DIRAVR)/utils/bin |
DIRINC = . |
DIRLIB = $(DIRAVR)/avr/lib |
# Define programs and commands. |
SHELL = sh |
CC = avr-gcc |
OBJCOPY = avr-objcopy |
OBJDUMP = avr-objdump |
SIZE = avr-size |
# Programming support using avrdude. |
AVRDUDE = avrdude |
REMOVE = rm -f |
COPY = cp |
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex |
ELFSIZE = $(SIZE) -A $(TARGET).elf |
# Define Messages |
# English |
MSG_ERRORS_NONE = Errors: none |
MSG_BEGIN = -------- begin -------- |
MSG_END = -------- end -------- |
MSG_SIZE_BEFORE = Size before: |
MSG_SIZE_AFTER = Size after: |
MSG_COFF = Converting to AVR COFF: |
MSG_EXTENDED_COFF = Converting to AVR Extended COFF: |
MSG_FLASH = Creating load file for Flash: |
MSG_EEPROM = Creating load file for EEPROM: |
MSG_EXTENDED_LISTING = Creating Extended Listing: |
MSG_SYMBOL_TABLE = Creating Symbol Table: |
MSG_LINKING = Linking: |
MSG_COMPILING = Compiling: |
MSG_ASSEMBLING = Assembling: |
MSG_CLEANING = Cleaning project: |
# Define all object files. |
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o) |
# Define all listing files. |
LST = $(ASRC:.S=.lst) $(SRC:.c=.lst) |
# Combine all necessary flags and optional flags. |
# Add target processor to flags. |
#ALL_CFLAGS = -mmcu=$(MCU) -DF_CPU=$(F_CPU) -I. $(CFLAGS) |
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) |
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) |
# Default target. |
all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep \ |
$(TARGET).lss $(TARGET).sym sizeafter finished end |
# Eye candy. |
# AVR Studio 3.x does not check make's exit code but relies on |
# the following magic strings to be generated by the compile job. |
begin: |
@echo |
@echo $(MSG_BEGIN) |
finished: |
@echo $(MSG_ERRORS_NONE) |
end: |
@echo $(MSG_END) |
@echo |
# Display size of file. |
sizebefore: |
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi |
sizeafter: |
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi |
# Display compiler version information. |
gccversion : |
@$(CC) --version |
# Convert ELF to COFF for use in debugging / simulating in |
# AVR Studio or VMLAB. |
COFFCONVERT=$(OBJCOPY) --debugging \ |
--change-section-address .data-0x800000 \ |
--change-section-address .bss-0x800000 \ |
--change-section-address .noinit-0x800000 \ |
--change-section-address .eeprom-0x810000 |
coff: $(TARGET).elf |
@echo |
@echo $(MSG_COFF) $(TARGET).cof |
$(COFFCONVERT) -O coff-avr $< $(TARGET).cof |
extcoff: $(TARGET).elf |
@echo |
@echo $(MSG_EXTENDED_COFF) $(TARGET).cof |
$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof |
# Program the device. |
program: $(TARGET).hex $(TARGET).eep |
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) |
# Create final output files (.hex, .eep) from ELF output file. |
%.hex: %.elf |
@echo |
@echo $(MSG_FLASH) $@ |
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ |
%.eep: %.elf |
@echo |
@echo $(MSG_EEPROM) $@ |
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ |
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@ |
# Create extended listing file from ELF output file. |
%.lss: %.elf |
@echo |
@echo $(MSG_EXTENDED_LISTING) $@ |
$(OBJDUMP) -h -S $< > $@ |
# Create a symbol table from ELF output file. |
%.sym: %.elf |
@echo |
@echo $(MSG_SYMBOL_TABLE) $@ |
avr-nm -n $< > $@ |
# Link: create ELF output file from object files. |
.SECONDARY : $(TARGET).elf |
.PRECIOUS : $(OBJ) |
%.elf: $(OBJ) |
@echo |
@echo $(MSG_LINKING) $@ |
$(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS) |
# Compile: create object files from C source files. |
%.o : %.c |
@echo |
@echo $(MSG_COMPILING) $< |
$(CC) -c $(ALL_CFLAGS) $< -o $@ |
# Compile: create assembler files from C source files. |
%.s : %.c |
$(CC) -S $(ALL_CFLAGS) $< -o $@ |
# Assemble: create object files from assembler source files. |
%.o : %.S |
@echo |
@echo $(MSG_ASSEMBLING) $< |
$(CC) -c $(ALL_ASFLAGS) $< -o $@ |
# Target: clean project. |
clean: begin clean_list finished end |
clean_list : |
@echo |
@echo $(MSG_CLEANING) |
# $(REMOVE) $(TARGET).hex |
$(REMOVE) $(TARGET).eep |
$(REMOVE) $(TARGET).obj |
$(REMOVE) $(TARGET).cof |
$(REMOVE) $(TARGET).elf |
$(REMOVE) $(TARGET).map |
$(REMOVE) $(TARGET).obj |
$(REMOVE) $(TARGET).a90 |
$(REMOVE) $(TARGET).sym |
$(REMOVE) $(TARGET).lnk |
$(REMOVE) $(TARGET).lss |
$(REMOVE) $(OBJ) |
$(REMOVE) $(LST) |
$(REMOVE) $(SRC:.c=.s) |
$(REMOVE) $(SRC:.c=.d) |
# Automatically generate C source code dependencies. |
# (Code originally taken from the GNU make user manual and modified |
# (See README.txt Credits).) |
# |
# Note that this will work with sh (bash) and sed that is shipped with WinAVR |
# (see the SHELL variable defined above). |
# This may not work with other shells or other seds. |
# |
%.d: %.c |
set -e; $(CC) -MM $(ALL_CFLAGS) $< \ |
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \ |
[ -s $@ ] || rm -f $@ |
# Remove the '-' if you want to see the dependency files generated. |
-include $(SRC:.c=.d) |
# Listing of phony targets. |
.PHONY : all begin finish end sizebefore sizeafter gccversion coff extcoff \ |
clean clean_list program |
/branches/v0.60_MicroMag3_Nick666/trunc/math.c |
---|
0,0 → 1,118 |
/* |
Copyright 2007, Niklas Nold |
This program (files math.c and math.h) is free software; you can redistribute it and/or modify |
it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; |
either version 3 of the License, or (at your option) any later version. |
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; |
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. |
Please note: All the other files for the project "Mikrokopter" by H. Buss are under the license (license_buss.txt) published by www.mikrokopter.de |
*/ |
#include "main.h" |
const uint8_t pgm_atan[270] PROGMEM = {0,1,2,3,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,27,28,29,30,31,32,33,33,34,35,36,37,37,38,39,39,40,41,41,42,43,43,44,44,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,52,53,53,54,54,54,55,55,56,56,56,57,57,57,58,58,58,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,64,64,64,64,65,65,65,65,65,66,66,66,66,66,67,67,67,67,67,67,68,68,68,68,68,68,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70,71,71,71,71,71,71,71,71,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,74,74,74,74,74,74,74,74,74,74,74,74,75,75,75,75,75,75,75,75,75,75,75,75,75,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79}; |
// Arkustangens2 im Gradmaß |
signed int atan2_i(signed int x, signed int y) |
{ |
int i,angle; |
int8_t m; |
if (!x && !y) return 0; //atan2 = 0 für x und y = 0 |
if (y < 0) m=-1; |
else m=1; |
if (x==0) return (90*m); // atan2 = 90° für x = 0 |
i = abs(((float)y / x) * 50); // Berechne i für die Lookup table (Schrittweite atan(x) ist 0.02 -> *50) |
if (i<270) angle = pgm_read_byte(&pgm_atan[i]); // Lookup für 1° bis 79° |
else if (i>5750) angle = 90; // Grenzwert ist 90° |
else if (i>=1910) angle = 89; // 89° bis 80° über Wertebereiche |
else if (i>=1150) angle = 88; |
else if (i>=820) angle = 87; |
else if (i>=640) angle = 86; |
else if (i>=520) angle = 85; |
else if (i>=440) angle = 84; |
else if (i>=380) angle = 83; |
else if (i>=335) angle = 82; |
else if (i>=299) angle = 81; |
else angle = 80; // (i>=270) |
if (x > 0) return (angle*m); // Quadrant I und IV |
else if ((x < 0) && (y >= 0)) return ((angle*-1) + 180); // Quadrant II |
else return (angle - 180); // x < 0 && y < 0 Quadrant III |
} |
const float pgm_sinus_f [91] PROGMEM = {0.000,0.017,0.035,0.052,0.070,0.087,0.105,0.122,0.139,0.156,0.174,0.191,0.208,0.225,0.242,0.259,0.276,0.292,0.309,0.326,0.342,0.358,0.375,0.391,0.407,0.423,0.438,0.454,0.469,0.485,0.500,0.515,0.530,0.545,0.559,0.574,0.588,0.602,0.616,0.629,0.643,0.656,0.669,0.682,0.695,0.707,0.719,0.731,0.743,0.755,0.766,0.777,0.788,0.799,0.809,0.819,0.829,0.839,0.848,0.857,0.866,0.875,0.883,0.891,0.899,0.906,0.914,0.921,0.927,0.934,0.940,0.946,0.951,0.956,0.961,0.966,0.970,0.974,0.978,0.982,0.985,0.988,0.990,0.993,0.995,0.996,0.998,0.999,0.999,1.000,1.000}; |
inline float pgm_read_float(const float *addr) |
{ |
union |
{ |
uint16_t i[2]; // 2 16-bit-Worte |
float f; |
} u; |
u.i[0]=pgm_read_word((PGM_P)addr); |
u.i[1]=pgm_read_word((PGM_P)addr+2); |
return u.f; |
} |
// Kosinusfunktion im Gradmaß |
float cos_f(signed int winkel) |
{ |
return (sin_f(90-winkel)); |
} |
// Sinusfunktion im Gradmaß |
float sin_f(signed int winkel) |
{ |
short int m,n; |
float sinus; |
//winkel = winkel % 360; |
if (winkel < 0) |
{ |
m = -1; |
winkel = abs(winkel); |
} |
else m = +1; |
// Quadranten auswerten |
if ((winkel > 90 ) && (winkel <= 180)) {winkel = 180 - winkel; n = 1;} |
else if ((winkel > 180 ) && (winkel <= 270)) {winkel = winkel - 180; n = -1;} |
else if ((winkel > 270) && (winkel <= 360)) {winkel = 360 - winkel; n = -1;} |
else n = 1; //0 - 90 Grad |
sinus = pgm_read_float(&pgm_sinus_f[winkel]); |
return (sinus*m*n); |
} |
const uint8_t pgm_asin[201] PROGMEM = {0,0,1,1,1,1,2,2,2,3,3,3,3,4,4,4,5,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,12,13,13,13,14,14,14,14,15,15,15,16,16,16,17,17,17,17,18,18,18,19,19,19,20,20,20,20,21,21,21,22,22,22,23,23,23,24,24,24,25,25,25,25,26,26,26,27,27,27,28,28,28,29,29,29,30,30,30,31,31,31,32,32,32,33,33,33,34,34,34,35,35,35,36,36,37,37,37,38,38,38,39,39,39,40,40,41,41,41,42,42,42,43,43,44,44,44,45,45,46,46,46,47,47,48,48,49,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,58,58,59,59,60,60,61,62,62,63,64,64,65,66,66,67,68,68,69,70,71,72,73,74,75,76,77,79,80,82,84,90}; |
// Akurssinusfunktion im Gradmaß |
int8_t asin_i(signed int i) |
{ |
signed char m; |
if (i < 0) {m=-1;i=abs(i);} |
else m=1; |
return (pgm_read_byte(&pgm_asin[i]) * m); |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/math.d |
---|
0,0 → 1,2 |
math.o math.d : math.c main.h old_macros.h _settings.h printf_P.h compass.h \ |
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/math.h |
---|
0,0 → 1,11 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// Peter Muehlenbrock |
// Definitionen fuer Modul math |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "main.h" |
extern signed int atan2_i(signed int x, signed int y); |
extern float cos_f(signed int winkel); |
extern float sin_f(signed int winkel); |
extern int8_t asin_i(signed int i); |
/branches/v0.60_MicroMag3_Nick666/trunc/menu.c |
---|
0,0 → 1,124 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Copyright (c) 04.2007 Holger Buss |
// + only for non-profit use |
// + www.MikroKopter.com |
// + see the File "License.txt" for further Informations |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "main.h" |
unsigned int TestInt = 0; |
#define ARRAYGROESSE 10 |
unsigned char Array[ARRAYGROESSE] = {1,2,3,4,5,6,7,8,9,10}; |
char DisplayBuff[80] = "Hallo Welt"; |
unsigned char DispPtr = 0; |
unsigned char RemoteTasten = 0; |
#define KEY1 0x01 |
#define KEY2 0x02 |
#define KEY3 0x04 |
#define KEY4 0x08 |
#define KEY5 0x10 |
void LcdClear(void) |
{ |
unsigned char i; |
for(i=0;i<80;i++) DisplayBuff[i] = ' '; |
} |
void Menu(void) |
{ |
static unsigned char MaxMenue = 11,MenuePunkt=0; |
if(RemoteTasten & KEY1) { if(MenuePunkt) MenuePunkt--; else MenuePunkt = MaxMenue; LcdClear(); } |
if(RemoteTasten & KEY2) { MenuePunkt++; LcdClear(); } |
if((RemoteTasten & KEY1) && (RemoteTasten & KEY2)) MenuePunkt = 0; |
LCD_printfxy(17,0,"[%i]",MenuePunkt); |
switch(MenuePunkt) |
{ |
case 0: |
LCD_printfxy(0,0,"++ MikroKopter ++"); |
LCD_printfxy(0,1,"V%d.%d",VERSION_HAUPTVERSION, VERSION_NEBENVERSION); |
LCD_printfxy(0,2,"Setting: %d ",GetActiveParamSetNumber()); |
LCD_printfxy(0,3,"(c) Holger Buss"); |
// if(RemoteTasten & KEY3) TestInt--; |
// if(RemoteTasten & KEY4) TestInt++; |
break; |
case 1: |
if(EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG) |
{ |
LCD_printfxy(0,0,"Hoehe: %5i",HoehenWert); |
LCD_printfxy(0,1,"SollHoehe: %5i",SollHoehe); |
LCD_printfxy(0,2,"Luftdruck: %5i",MessLuftdruck); |
LCD_printfxy(0,3,"Off : %5i",DruckOffsetSetting); |
} |
else |
{ |
LCD_printfxy(0,1,"Keine "); |
LCD_printfxy(0,2,"Höhenregelung"); |
} |
break; |
case 2: |
LCD_printfxy(0,0,"akt. Lage"); |
LCD_printfxy(0,1,"Nick: %5i",IntegralNick/1024); |
LCD_printfxy(0,2,"Roll: %5i",IntegralRoll/1024); |
LCD_printfxy(0,3,"Kompass: %5i",KompassValue); |
break; |
case 3: |
LCD_printfxy(0,0,"K1:%4i K2:%4i ",PPM_in[1],PPM_in[2]); |
LCD_printfxy(0,1,"K3:%4i K4:%4i ",PPM_in[3],PPM_in[4]); |
LCD_printfxy(0,2,"K5:%4i K6:%4i ",PPM_in[5],PPM_in[6]); |
LCD_printfxy(0,3,"K7:%4i Kanäle ",PPM_in[7]); |
break; |
case 4: |
LCD_printfxy(0,0,"Ni:%4i Ro:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_NICK]],PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]); |
LCD_printfxy(0,1,"Gs:%4i Gi:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_GAS]],PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]); |
LCD_printfxy(0,2,"P1:%4i P2:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]],PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]]); |
LCD_printfxy(0,3,"P3:%4i Kanäle ",PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]]); |
break; |
case 5: |
LCD_printfxy(0,0,"Gyro - Sensor"); |
LCD_printfxy(0,1,"Nick %4i (%3i)",AccumulateNick / MessanzahlNick, AdNeutralNick); |
LCD_printfxy(0,2,"Roll %4i (%3i)",AccumulateRoll / MessanzahlRoll, AdNeutralRoll); |
LCD_printfxy(0,3,"Gier %4i (%3i)",AccumulateGier / MessanzahlGier, AdNeutralGier); |
break; |
case 6: |
LCD_printfxy(0,0,"ACC - Sensor"); |
LCD_printfxy(0,1,"Nick %4i (%3i)",accumulate_AccNick / messanzahl_AccNick,acc_neutral.X); |
LCD_printfxy(0,2,"Roll %4i (%3i)",accumulate_AccRoll / messanzahl_AccRoll,acc_neutral.Y); |
LCD_printfxy(0,3,"Hoch %4i (%3i)",Aktuell_az/*accumulate_AccHoch / messanzahl_AccHoch*/,(int)acc_neutral.Z); |
break; |
case 7: |
LCD_printfxy(0,1,"Spannung: %5i",UBat); |
LCD_printfxy(0,2,"Empf.Pegel:%5i",SenderOkay); |
break; |
case 8: |
LCD_printfxy(0,0,"Kompass "); |
LCD_printfxy(0,1,"Richtung: %5i",KompassRichtung); |
LCD_printfxy(0,2,"Messwert: %5i",KompassValue); |
LCD_printfxy(0,3,"Start: %5i",KompassStartwert); |
break; |
case 9: |
LCD_printfxy(0,0,"Poti1: %3i",Poti1); |
LCD_printfxy(0,1,"Poti2: %3i",Poti2); |
LCD_printfxy(0,2,"Poti3: %3i",Poti3); |
LCD_printfxy(0,3,"Poti4: %3i",Poti4); |
break; |
case 10: |
LCD_printfxy(0,0,"Servo " ); |
LCD_printfxy(0,1,"Setpoint %3i",Parameter_ServoNickControl); |
LCD_printfxy(0,2,"Stellung: %3i",ServoValue); |
LCD_printfxy(0,3,"Range:%3i-%3i",EE_Parameter.ServoNickMin,EE_Parameter.ServoNickMax); |
break; |
case 11: |
LCD_printfxy(0,0,"MM3 kalib."); |
LCD_printfxy(0,1,"X_Offset: %3i",MM3_calib.X_off); |
LCD_printfxy(0,2,"Y_Offset: %3i",MM3_calib.Y_off); |
LCD_printfxy(0,3,"Z_Offset: %3i",MM3_calib.Z_off); |
break; |
default: MaxMenue = MenuePunkt - 1; |
MenuePunkt = 0; |
break; |
} |
RemoteTasten = 0; |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/menu.d |
---|
0,0 → 1,2 |
menu.o menu.d : menu.c main.h old_macros.h _settings.h printf_P.h compass.h \ |
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/menu.h |
---|
0,0 → 1,7 |
void LcdClear(void); |
extern void Menu(void); |
extern char DisplayBuff[80]; |
extern unsigned char DispPtr; |
unsigned char RemoteTasten; |
/branches/v0.60_MicroMag3_Nick666/trunc/old_macros.h |
---|
0,0 → 1,47 |
/* |
For backwards compatibility only. |
Ingo Busker ingo@mikrocontroller.com |
*/ |
#ifndef cbi |
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) |
#endif |
#ifndef sbi |
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) |
#endif |
#ifndef inb |
#define inb(sfr) _SFR_BYTE(sfr) |
#endif |
#ifndef outb |
#define outb(sfr, val) (_SFR_BYTE(sfr) = (val)) |
#endif |
#ifndef inw |
#define inw(sfr) _SFR_WORD(sfr) |
#endif |
#ifndef outw |
#define outw(sfr, val) (_SFR_WORD(sfr) = (val)) |
#endif |
#ifndef outp |
#define outp(val, sfr) outb(sfr, val) |
#endif |
#ifndef inp |
#define inp(sfr) inb(sfr) |
#endif |
#ifndef BV |
#define BV(bit) _BV(bit) |
#endif |
#ifndef PRG_RDB |
#define PRG_RDB pgm_read_byte |
#endif |
/branches/v0.60_MicroMag3_Nick666/trunc/printf_P.c |
---|
0,0 → 1,480 |
// Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist nicht von der Lizenz für den MikroKopter-Teil unterstellt |
/* |
Copyright (C) 1993 Free Software Foundation |
This file is part of the GNU IO Library. This library is free |
software; you can redistribute it and/or modify it under the |
terms of the GNU General Public License as published by the |
Free Software Foundation; either version 2, or (at your option) |
any later version. |
This library is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
You should have received a copy of the GNU General Public License |
along with this library; see the file COPYING. If not, write to the Free |
Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
As a special exception, if you link this library with files |
compiled with a GNU compiler to produce an executable, this does not cause |
the resulting executable to be covered by the GNU General Public License. |
This exception does not however invalidate any other reasons why |
the executable file might be covered by the GNU General Public License. */ |
/* |
* Copyright (c) 1990 Regents of the University of California. |
* All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* 3. [rescinded 22 July 1999] |
* 4. Neither the name of the University nor the names of its contributors |
* may be used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
*/ |
/****************************************************************************** |
This file is a patched version of printf called _printf_P |
It is made to work with avr-gcc for Atmel AVR MCUs. |
There are some differences from standard printf: |
1. There is no floating point support (with fp the code is about 8K!) |
2. Return type is void |
3. Format string must be in program memory (by using macro printf this is |
done automaticaly) |
4. %n is not implemented (just remove the comment around it if you need it) |
5. If LIGHTPRINTF is defined, the code is about 550 bytes smaller and the |
folowing specifiers are disabled : |
space # * . - + p s o O |
6. A function void uart_sendchar(char c) is used for output. The UART must |
be initialized before using printf. |
Alexander Popov |
sasho@vip.orbitel.bg |
******************************************************************************/ |
/* |
* Actual printf innards. |
* |
* This code is large and complicated... |
*/ |
#include <string.h> |
#ifdef __STDC__ |
#include <stdarg.h> |
#else |
#include <varargs.h> |
#endif |
#include "main.h" |
//#define LIGHTPRINTF |
char PrintZiel; |
char Putchar(char zeichen) |
{ |
if(PrintZiel == OUT_LCD) { DisplayBuff[DispPtr++] = zeichen; return(1);} |
else return(uart_putchar(zeichen)); |
} |
void PRINT(const char * ptr, unsigned int len) |
{ |
for(;len;len--) Putchar(*ptr++); |
} |
void PRINTP(const char * ptr, unsigned int len) |
{ |
for(;len;len--) Putchar(pgm_read_byte(ptr++)); |
} |
void PAD_SP(signed char howmany) |
{ |
for(;howmany>0;howmany--) Putchar(' '); |
} |
void PAD_0(signed char howmany) |
{ |
for(;howmany>0;howmany--) Putchar('0'); |
} |
#define BUF 40 |
/* |
* Macros for converting digits to letters and vice versa |
*/ |
#define to_digit(c) ((c) - '0') |
#define is_digit(c) ((c)<='9' && (c)>='0') |
#define to_char(n) ((n) + '0') |
/* |
* Flags used during conversion. |
*/ |
#define LONGINT 0x01 /* long integer */ |
#define LONGDBL 0x02 /* long double; unimplemented */ |
#define SHORTINT 0x04 /* short integer */ |
#define ALT 0x08 /* alternate form */ |
#define LADJUST 0x10 /* left adjustment */ |
#define ZEROPAD 0x20 /* zero (as opposed to blank) pad */ |
#define HEXPREFIX 0x40 /* add 0x or 0X prefix */ |
void _printf_P (char ziel,char const *fmt0, ...) /* Works with string from FLASH */ |
{ |
va_list ap; |
register const char *fmt; /* format string */ |
register char ch; /* character from fmt */ |
register int n; /* handy integer (short term usage) */ |
register char *cp; /* handy char pointer (short term usage) */ |
const char *fmark; /* for remembering a place in fmt */ |
register unsigned char flags; /* flags as above */ |
signed char width; /* width from format (%8d), or 0 */ |
signed char prec; /* precision from format (%.3d), or -1 */ |
char sign; /* sign prefix (' ', '+', '-', or \0) */ |
unsigned long _ulong=0; /* integer arguments %[diouxX] */ |
#define OCT 8 |
#define DEC 10 |
#define HEX 16 |
unsigned char base; /* base for [diouxX] conversion */ |
signed char dprec; /* a copy of prec if [diouxX], 0 otherwise */ |
signed char dpad; /* extra 0 padding needed for integers */ |
signed char fieldsz; /* field size expanded by sign, dpad etc */ |
/* The initialization of 'size' is to suppress a warning that |
'size' might be used unitialized. It seems gcc can't |
quite grok this spaghetti code ... */ |
signed char size = 0; /* size of converted field or string */ |
char buf[BUF]; /* space for %c, %[diouxX], %[eEfgG] */ |
char ox[2]; /* space for 0x hex-prefix */ |
PrintZiel = ziel; // bestimmt, LCD oder UART |
va_start(ap, fmt0); |
fmt = fmt0; |
/* |
* Scan the format for conversions (`%' character). |
*/ |
for (;;) { |
for (fmark = fmt; (ch = pgm_read_byte(fmt)) != '\0' && ch != '%'; fmt++) |
/* void */; |
if ((n = fmt - fmark) != 0) { |
PRINTP(fmark, n); |
} |
if (ch == '\0') |
goto done; |
fmt++; /* skip over '%' */ |
flags = 0; |
dprec = 0; |
width = 0; |
prec = -1; |
sign = '\0'; |
rflag: ch = PRG_RDB(fmt++); |
reswitch: |
#ifdef LIGHTPRINTF |
if (ch=='o' || ch=='u' || (ch|0x20)=='x') { |
#else |
if (ch=='u' || (ch|0x20)=='x') { |
#endif |
if (flags&LONGINT) { |
_ulong=va_arg(ap, unsigned long); |
} else { |
register unsigned int _d; |
_d=va_arg(ap, unsigned int); |
_ulong = flags&SHORTINT ? (unsigned long)(unsigned short)_d : (unsigned long)_d; |
} |
} |
#ifndef LIGHTPRINTF |
if(ch==' ') { |
/* |
* ``If the space and + flags both appear, the space |
* flag will be ignored.'' |
* -- ANSI X3J11 |
*/ |
if (!sign) |
sign = ' '; |
goto rflag; |
} else if (ch=='#') { |
flags |= ALT; |
goto rflag; |
} else if (ch=='*'||ch=='-') { |
if (ch=='*') { |
/* |
* ``A negative field width argument is taken as a |
* - flag followed by a positive field width.'' |
* -- ANSI X3J11 |
* They don't exclude field widths read from args. |
*/ |
if ((width = va_arg(ap, int)) >= 0) |
goto rflag; |
width = -width; |
} |
flags |= LADJUST; |
flags &= ~ZEROPAD; /* '-' disables '0' */ |
goto rflag; |
} else if (ch=='+') { |
sign = '+'; |
goto rflag; |
} else if (ch=='.') { |
if ((ch = PRG_RDB(fmt++)) == '*') { |
n = va_arg(ap, int); |
prec = n < 0 ? -1 : n; |
goto rflag; |
} |
n = 0; |
while (is_digit(ch)) { |
n = n*10 + to_digit(ch); |
ch = PRG_RDB(fmt++); |
} |
prec = n < 0 ? -1 : n; |
goto reswitch; |
} else |
#endif /* LIGHTPRINTF */ |
if (ch=='0') { |
/* |
* ``Note that 0 is taken as a flag, not as the |
* beginning of a field width.'' |
* -- ANSI X3J11 |
*/ |
if (!(flags & LADJUST)) |
flags |= ZEROPAD; /* '-' disables '0' */ |
goto rflag; |
} else if (ch>='1' && ch<='9') { |
n = 0; |
do { |
n = 10 * n + to_digit(ch); |
ch = PRG_RDB(fmt++); |
} while (is_digit(ch)); |
width = n; |
goto reswitch; |
} else if (ch=='h') { |
flags |= SHORTINT; |
goto rflag; |
} else if (ch=='l') { |
flags |= LONGINT; |
goto rflag; |
} else if (ch=='c') { |
*(cp = buf) = va_arg(ap, int); |
size = 1; |
sign = '\0'; |
} else if (ch=='D'||ch=='d'||ch=='i') { |
if(ch=='D') |
flags |= LONGINT; |
if (flags&LONGINT) { |
_ulong=va_arg(ap, long); |
} else { |
register int _d; |
_d=va_arg(ap, int); |
_ulong = flags&SHORTINT ? (long)(short)_d : (long)_d; |
} |
if ((long)_ulong < 0) { |
_ulong = -_ulong; |
sign = '-'; |
} |
base = DEC; |
goto number; |
} else |
/* |
if (ch=='n') { |
if (flags & LONGINT) |
*va_arg(ap, long *) = ret; |
else if (flags & SHORTINT) |
*va_arg(ap, short *) = ret; |
else |
*va_arg(ap, int *) = ret; |
continue; // no output |
} else |
*/ |
#ifndef LIGHTPRINTF |
if (ch=='O'||ch=='o') { |
if (ch=='O') |
flags |= LONGINT; |
base = OCT; |
goto nosign; |
} else if (ch=='p') { |
/* |
* ``The argument shall be a pointer to void. The |
* value of the pointer is converted to a sequence |
* of printable characters, in an implementation- |
* defined manner.'' |
* -- ANSI X3J11 |
*/ |
/* NOSTRICT */ |
_ulong = (unsigned int)va_arg(ap, void *); |
base = HEX; |
flags |= HEXPREFIX; |
ch = 'x'; |
goto nosign; |
} else if (ch=='s') { // print a string from RAM |
if ((cp = va_arg(ap, char *)) == NULL) { |
cp=buf; |
cp[0] = '('; |
cp[1] = 'n'; |
cp[2] = 'u'; |
cp[4] = cp[3] = 'l'; |
cp[5] = ')'; |
cp[6] = '\0'; |
} |
if (prec >= 0) { |
/* |
* can't use strlen; can only look for the |
* NUL in the first `prec' characters, and |
* strlen() will go further. |
*/ |
char *p = (char*)memchr(cp, 0, prec); |
if (p != NULL) { |
size = p - cp; |
if (size > prec) |
size = prec; |
} else |
size = prec; |
} else |
size = strlen(cp); |
sign = '\0'; |
} else |
#endif /* LIGHTPRINTF */ |
if(ch=='U'||ch=='u') { |
if (ch=='U') |
flags |= LONGINT; |
base = DEC; |
goto nosign; |
} else if (ch=='X'||ch=='x') { |
base = HEX; |
/* leading 0x/X only if non-zero */ |
if (flags & ALT && _ulong != 0) |
flags |= HEXPREFIX; |
/* unsigned conversions */ |
nosign: sign = '\0'; |
/* |
* ``... diouXx conversions ... if a precision is |
* specified, the 0 flag will be ignored.'' |
* -- ANSI X3J11 |
*/ |
number: if ((dprec = prec) >= 0) |
flags &= ~ZEROPAD; |
/* |
* ``The result of converting a zero value with an |
* explicit precision of zero is no characters.'' |
* -- ANSI X3J11 |
*/ |
cp = buf + BUF; |
if (_ulong != 0 || prec != 0) { |
register unsigned char _d,notlastdigit; |
do { |
notlastdigit=(_ulong>=base); |
_d = _ulong % base; |
if (_d<10) { |
_d+='0'; |
} else { |
_d+='a'-10; |
if (ch=='X') _d&=~0x20; |
} |
*--cp=_d; |
_ulong /= base; |
} while (notlastdigit); |
#ifndef LIGHTPRINTF |
// handle octal leading 0 |
if (base==OCT && flags & ALT && *cp != '0') |
*--cp = '0'; |
#endif |
} |
size = buf + BUF - cp; |
} else { //default |
/* "%?" prints ?, unless ? is NUL */ |
if (ch == '\0') |
goto done; |
/* pretend it was %c with argument ch */ |
cp = buf; |
*cp = ch; |
size = 1; |
sign = '\0'; |
} |
/* |
* All reasonable formats wind up here. At this point, |
* `cp' points to a string which (if not flags&LADJUST) |
* should be padded out to `width' places. If |
* flags&ZEROPAD, it should first be prefixed by any |
* sign or other prefix; otherwise, it should be blank |
* padded before the prefix is emitted. After any |
* left-hand padding and prefixing, emit zeroes |
* required by a decimal [diouxX] precision, then print |
* the string proper, then emit zeroes required by any |
* leftover floating precision; finally, if LADJUST, |
* pad with blanks. |
*/ |
/* |
* compute actual size, so we know how much to pad. |
*/ |
fieldsz = size; |
dpad = dprec - size; |
if (dpad < 0) |
dpad = 0; |
if (sign) |
fieldsz++; |
else if (flags & HEXPREFIX) |
fieldsz += 2; |
fieldsz += dpad; |
/* right-adjusting blank padding */ |
if ((flags & (LADJUST|ZEROPAD)) == 0) |
PAD_SP(width - fieldsz); |
/* prefix */ |
if (sign) { |
PRINT(&sign, 1); |
} else if (flags & HEXPREFIX) { |
ox[0] = '0'; |
ox[1] = ch; |
PRINT(ox, 2); |
} |
/* right-adjusting zero padding */ |
if ((flags & (LADJUST|ZEROPAD)) == ZEROPAD) |
PAD_0(width - fieldsz); |
/* leading zeroes from decimal precision */ |
PAD_0(dpad); |
/* the string or number proper */ |
PRINT(cp, size); |
/* left-adjusting padding (always blank) */ |
if (flags & LADJUST) |
PAD_SP(width - fieldsz); |
} |
done: |
va_end(ap); |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/printf_P.d |
---|
0,0 → 1,3 |
printf_P.o printf_P.d : printf_P.c main.h old_macros.h _settings.h printf_P.h \ |
compass.h timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h \ |
math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/printf_P.h |
---|
0,0 → 1,19 |
#ifndef _PRINTF_P_H_ |
#define _PRINTF_P_H_ |
#include <avr/pgmspace.h> |
#define OUT_V24 0 |
#define OUT_LCD 1 |
extern void _printf_P (char, char const *fmt0, ...); |
extern char PrintZiel; |
#define printf_P(format, args...) _printf_P(OUT_V24,format , ## args) |
#define printf(format, args...) _printf_P(OUT_V24,PSTR(format) , ## args) |
#define LCD_printfxy(x,y,format, args...) { DispPtr = y * 20 + x; _printf_P(OUT_LCD,PSTR(format) , ## args);} |
#define LCD_printf(format, args...) { _printf_P(OUT_LCD,PSTR(format) , ## args);} |
#endif |
/branches/v0.60_MicroMag3_Nick666/trunc/rc.c |
---|
0,0 → 1,85 |
/*####################################################################################### |
Decodieren eines RC Summen Signals |
#######################################################################################*/ |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Copyright (c) 04.2007 Holger Buss |
// + only for non-profit use |
// + www.MikroKopter.com |
// + see the File "License.txt" for further Informations |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "rc.h" |
#include "main.h" |
volatile int PPM_in[11]; |
volatile int PPM_diff[11]; // das diffenzierte Stick-Signal |
volatile unsigned char NewPpmData = 1; |
//############################################################################ |
//zum decodieren des PPM-Signals wird Timer1 mit seiner Input |
//Capture Funktion benutzt: |
void rc_sum_init (void) |
//############################################################################ |
{ |
TCCR1B=(1<<CS11)|(1<<CS10)|(1<<ICES1)|(1<<ICNC1);//|(1 << WGM12); //timer1 prescale 64 |
// PWM |
//TCCR1A = (1 << COM1B1) | (1 << WGM11) | (1 << WGM10); |
//TCCR1B |= (1 << WGM12); |
//OCR1B = 55; |
TIMSK1 |= _BV(ICIE1); |
AdNeutralGier = 0; |
AdNeutralRoll = 0; |
AdNeutralNick = 0; |
return; |
} |
//############################################################################ |
//Diese Routine startet und inizialisiert den Timer für RC |
SIGNAL(SIG_INPUT_CAPTURE1) |
//############################################################################ |
{ |
static unsigned int AltICR=0; |
signed int signal = 0; |
static int index; |
signal = (unsigned int) ICR1 - AltICR; |
AltICR = ICR1; |
//Syncronisationspause? |
if ((signal > 1500) && (signal < 8000)) |
{ |
index = 1; |
NewPpmData = 0; // Null bedeutet: Neue Daten |
// OCR2A = Poti2/2 + 80; |
} |
else |
{ |
if(index < 10) |
{ |
if((signal > 250) && (signal < 687)) |
{ |
signal -= 466; |
// Stabiles Signal |
if(abs(signal - PPM_in[index]) < 6) { if(SenderOkay < 200) SenderOkay += 10;} |
signal = (3 * (PPM_in[index]) + signal) / 4; |
//373 entspricht ca. 1.5ms also Mittelstellung |
PPM_diff[index] = signal - PPM_in[index]; |
PPM_in[index] = signal; |
} |
index++; |
/* if(index == 5) PORTD |= 0x20; else PORTD &= ~0x20; // Servosignal an J3 anlegen |
if(index == 6) PORTD |= 0x10; else PORTD &= ~0x10; // Servosignal an J4 anlegen |
if(index == 7) PORTD |= 0x08; else PORTD &= ~0x08; // Servosignal an J5 anlegen */ |
} |
} |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/rc.d |
---|
0,0 → 1,2 |
rc.o rc.d : rc.c rc.h main.h old_macros.h _settings.h printf_P.h compass.h \ |
timer0.h uart.h analog.h twimaster.h menu.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/rc.h |
---|
0,0 → 1,29 |
/*####################################################################################### |
Derkodieren eines RC Summen Signals |
#######################################################################################*/ |
#ifndef _RC_H |
#define _RC_H |
#if defined (__AVR_ATmega32__) |
#define TIMER_TEILER CK64 |
#define TIMER_RELOAD_VALUE 250 |
#endif |
#if defined (__AVR_ATmega644__) |
//#define TIMER_TEILER CK64 |
#define TIMER_RELOAD_VALUE 250 |
//#define TIMER_TEILER CK256 // bei 20MHz |
//#define TIMER_RELOAD_VALUE -78 // bei 20MHz |
#endif |
#define GAS PPM_in[2] |
extern void rc_sum_init (void); |
extern volatile int PPM_in[11]; |
extern volatile int PPM_diff[11]; // das diffenzierte Stick-Signal |
extern volatile unsigned char NewPpmData; |
#endif //_RC_H |
/branches/v0.60_MicroMag3_Nick666/trunc/timer0.c |
---|
0,0 → 1,134 |
#include "main.h" |
volatile unsigned int CountMilliseconds = 0; |
volatile static unsigned int tim_main; |
volatile unsigned char UpdateMotor = 0; |
volatile unsigned int beeptime = 0; |
volatile unsigned int cntKompass = 800; |
int ServoValue = 0; |
enum { |
STOP = 0, |
CK = 1, |
CK8 = 2, |
CK64 = 3, |
CK256 = 4, |
CK1024 = 5, |
T0_FALLING_EDGE = 6, |
T0_RISING_EDGE = 7 |
}; |
SIGNAL (SIG_OVERFLOW0) // 8kHz |
{ |
static unsigned char cnt_1ms = 1,cnt = 0; |
// TCNT0 -= 250;//TIMER_RELOAD_VALUE; |
if(!cnt--) |
{ |
cnt = 9; |
cnt_1ms++; |
cnt_1ms %= 2; |
if(!cnt_1ms) UpdateMotor = 1; |
CountMilliseconds++; |
if(Timeout) Timeout--; |
} |
if(beeptime > 1) |
{ |
beeptime--; |
PORTD &= ~(1<<PD2);//PORTD |= (1<<PD2); |
} |
else |
PORTD &= ~(1<<PD2); |
if(EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV) |
{ |
MM3_timer0(); // Kompass auslesen |
if (!cntKompass--) // Aufruf mit 10 Hz |
{ |
KompassValue = MM3_heading(); |
KompassRichtung = ((540 + KompassValue - KompassStartwert) % 360) - 180; |
cntKompass = 800; |
} |
} |
} |
void Timer_Init(void) |
{ |
tim_main = SetDelay(10); |
TCCR0B = CK8; |
TCCR0A = (1<<COM0A1)|(1<<COM0B1)|3;//fast PWM |
OCR0A = 0; |
OCR0B = 120; |
//TCNT0 = -TIMER_RELOAD_VALUE; // reload |
//OCR1 = 0x00; |
TCCR2A=(1<<COM2A1)|(1<<COM2A0)|3; |
TCCR2B=(0<<CS20)|(1<<CS21)|(1<<CS22); |
// TIMSK2 |= _BV(TOIE2); |
TIMSK2 |= _BV(OCIE2A); |
TIMSK0 |= _BV(TOIE0); |
OCR2A = 10; |
TCNT2 = 0; |
} |
// ----------------------------------------------------------------------- |
unsigned int SetDelay (unsigned int t) |
{ |
// TIMSK0 &= ~_BV(TOIE0); |
return(CountMilliseconds + t + 1); |
// TIMSK0 |= _BV(TOIE0); |
} |
// ----------------------------------------------------------------------- |
char CheckDelay(unsigned int t) |
{ |
// TIMSK0 &= ~_BV(TOIE0); |
return(((t - CountMilliseconds) & 0x8000) >> 9); |
// TIMSK0 |= _BV(TOIE0); |
} |
// ----------------------------------------------------------------------- |
void Delay_ms(unsigned int w) |
{ |
unsigned int akt; |
akt = SetDelay(w); |
while (!CheckDelay(akt)); |
} |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// Servo ansteuern |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
SIGNAL(SIG_OUTPUT_COMPARE2A) |
{ |
static unsigned char timer = 10; |
if(!timer--) |
{ |
TCCR2A=(1<<COM2A1)|(0<<COM2A0)|3; |
ServoValue = Parameter_ServoNickControl; |
if(EE_Parameter.ServoNickCompInvert & 0x01) ServoValue += ((long) EE_Parameter.ServoNickComp * (IntegralNick / 128)) / 512; |
else ServoValue -= ((long) EE_Parameter.ServoNickComp * (IntegralNick / 128)) / 512; |
if(ServoValue < EE_Parameter.ServoNickMin) ServoValue = EE_Parameter.ServoNickMin; |
else if(ServoValue > EE_Parameter.ServoNickMax) ServoValue = EE_Parameter.ServoNickMax; |
//DebugOut.Analog[10] = ServoValue; |
OCR2A = ServoValue;// + 75; |
timer = EE_Parameter.ServoNickRefresh; |
} |
else |
{ |
TCCR2A =3; |
PORTD&=~0x80; |
} |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/timer0.d |
---|
0,0 → 1,2 |
timer0.o timer0.d : timer0.c main.h old_macros.h _settings.h printf_P.h compass.h \ |
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/timer0.h |
---|
0,0 → 1,14 |
#define TIMER_TEILER CK8 |
#define TIMER_RELOAD_VALUE 250 |
void Timer_Init(void); |
void Delay_ms(unsigned int); |
unsigned int SetDelay (unsigned int t); |
char CheckDelay (unsigned int t); |
extern volatile unsigned int CountMilliseconds; |
extern volatile unsigned char UpdateMotor; |
extern volatile unsigned int beeptime; |
extern volatile unsigned int cntKompass; |
extern int ServoValue; |
/branches/v0.60_MicroMag3_Nick666/trunc/twimaster.c |
---|
0,0 → 1,131 |
/*############################################################################ |
############################################################################*/ |
#include "main.h" |
unsigned char twi_state = 0; |
unsigned char motor = 0; |
unsigned char motorread = 0; |
unsigned char motor_rx[8]; |
//############################################################################ |
//Initzialisieren der I2C (TWI) Schnittstelle |
void i2c_init(void) |
//############################################################################ |
{ |
TWSR = 0; |
TWBR = ((SYSCLK/SCL_CLOCK)-16)/2; |
} |
//############################################################################ |
//Start I2C |
char i2c_start(void) |
//############################################################################ |
{ |
TWCR = (1<<TWSTA) | (1<<TWEN) | (1<<TWINT) | (1<<TWIE); |
return(0); |
} |
//############################################################################ |
//Start I2C |
void i2c_stop(void) |
//############################################################################ |
{ |
TWCR = (1<<TWEN) | (1<<TWSTO) | (1<<TWINT); |
} |
//############################################################################ |
//Start I2C |
char i2c_write_byte(char byte) |
//############################################################################ |
{ |
TWSR = 0x00; |
TWDR = byte; |
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWIE); |
return(0); |
} |
//############################################################################ |
//Start I2C |
SIGNAL (TWI_vect) |
//############################################################################ |
{ |
switch (twi_state++) |
{ |
case 0: |
i2c_write_byte(0x52+(motor*2)); |
break; |
case 1: |
switch(motor++) |
{ |
case 0: |
i2c_write_byte(Motor_Vorne); |
break; |
case 1: |
i2c_write_byte(Motor_Hinten); |
break; |
case 2: |
i2c_write_byte(Motor_Rechts); |
break; |
case 3: |
i2c_write_byte(Motor_Links); |
break; |
} |
break; |
case 2: |
i2c_stop(); |
if (motor<4) twi_state = 0; |
else motor = 0; |
i2c_start(); |
break; |
//Liest Daten von Motor |
case 3: |
i2c_write_byte(0x53+(motorread*2)); |
break; |
case 4: |
switch(motorread) |
{ |
case 0: |
i2c_write_byte(Motor_Vorne); |
break; |
case 1: |
i2c_write_byte(Motor_Hinten); |
break; |
case 2: |
i2c_write_byte(Motor_Rechts); |
break; |
case 3: |
i2c_write_byte(Motor_Links); |
break; |
} |
break; |
case 5: //1 Byte vom Motor lesen |
motor_rx[motorread] = TWDR; |
case 6: |
switch(motorread) |
{ |
case 0: |
i2c_write_byte(Motor_Vorne); |
break; |
case 1: |
i2c_write_byte(Motor_Hinten); |
break; |
case 2: |
i2c_write_byte(Motor_Rechts); |
break; |
case 3: |
i2c_write_byte(Motor_Links); |
break; |
} |
break; |
case 7: //2 Byte vom Motor lesen |
motor_rx[motorread+4] = TWDR; |
motorread++; |
if (motorread>3) motorread=0; |
i2c_stop(); |
twi_state = 0; |
} |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/twimaster.d |
---|
0,0 → 1,3 |
twimaster.o twimaster.d : twimaster.c main.h old_macros.h _settings.h printf_P.h \ |
compass.h timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h \ |
math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/twimaster.h |
---|
0,0 → 1,32 |
/*############################################################################ |
############################################################################*/ |
#ifndef _I2C_MASTER_H |
#define _I2C_MASTER_H |
//############################################################################ |
// I2C Konstanten |
#define SCL_CLOCK 200000L |
#define I2C_TIMEOUT 30000 |
#define I2C_START 0x08 |
#define I2C_REPEATED_START 0x10 |
#define I2C_TX_SLA_ACK 0x18 |
#define I2C_TX_DATA_ACK 0x28 |
#define I2C_RX_SLA_ACK 0x40 |
#define I2C_RX_DATA_ACK 0x50 |
//############################################################################ |
extern unsigned char twi_state; |
extern unsigned char motor; |
extern unsigned char motorread; |
extern unsigned char motor_rx[8]; |
void i2c_init (void); // I2C initialisieren |
char i2c_start (void); // Start I2C |
void i2c_stop (void); // Stop I2C |
char i2c_write_byte (char byte); // 1 Byte schreiben |
#endif |
/branches/v0.60_MicroMag3_Nick666/trunc/uart.c |
---|
0,0 → 1,328 |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// + Copyright (c) 04.2007 Holger Buss |
// + only for non-profit use |
// + www.MikroKopter.com |
// + see the File "License.txt" for further Informations |
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
#include "main.h" |
#include "uart.h" |
unsigned char DebugGetAnforderung = 0,DebugDisplayAnforderung = 0,DebugDataAnforderung = 0,GetVersionAnforderung = 0; |
unsigned volatile char SioTmp = 0; |
unsigned volatile char SendeBuffer[MAX_SENDE_BUFF]; |
unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF]; |
unsigned volatile char NMEABuffer[MAX_EMPFANGS_BUFF]; |
unsigned volatile char NeuerDatensatzEmpfangen = 0; |
unsigned volatile char NeueKoordinateEmpfangen = 0; |
unsigned volatile char UebertragungAbgeschlossen = 1; |
unsigned volatile char CntCrcError = 0; |
unsigned volatile char AnzahlEmpfangsBytes = 0; |
unsigned volatile char PC_DebugTimeout = 0; |
unsigned char PcZugriff = 100; |
unsigned char MotorTest[4] = {0,0,0,0}; |
unsigned char MeineSlaveAdresse; |
struct str_DebugOut DebugOut; |
struct str_Debug DebugIn; |
struct str_VersionInfo VersionInfo; |
int Debug_Timer; |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
//++ Sende-Part der Datenübertragung |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
SIGNAL(INT_VEC_TX) |
{ |
static unsigned int ptr = 0; |
unsigned char tmp_tx; |
if(!UebertragungAbgeschlossen) |
{ |
ptr++; // die [0] wurde schon gesendet |
tmp_tx = SendeBuffer[ptr]; |
if((tmp_tx == '\r') || (ptr == MAX_SENDE_BUFF)) |
{ |
ptr = 0; |
UebertragungAbgeschlossen = 1; |
} |
UDR = tmp_tx; |
} |
else ptr = 0; |
} |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
//++ Empfangs-Part der Datenübertragung, incl. CRC-Auswertung |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
SIGNAL(INT_VEC_RX) |
{ |
static unsigned int crc; |
static unsigned char crc1,crc2,buf_ptr; |
static unsigned char UartState = 0; |
unsigned char CrcOkay = 0; |
SioTmp = UDR; |
if(buf_ptr >= MAX_EMPFANGS_BUFF) UartState = 0; |
if(SioTmp == '\r' && UartState == 2) |
{ |
UartState = 0; |
crc -= RxdBuffer[buf_ptr-2]; |
crc -= RxdBuffer[buf_ptr-1]; |
crc %= 4096; |
crc1 = '=' + crc / 64; |
crc2 = '=' + crc % 64; |
CrcOkay = 0; |
if((crc1 == RxdBuffer[buf_ptr-2]) && (crc2 == RxdBuffer[buf_ptr-1])) CrcOkay = 1; else { CrcOkay = 0; CntCrcError++;}; |
if(!NeuerDatensatzEmpfangen && CrcOkay) // Datensatz schon verarbeitet |
{ |
NeuerDatensatzEmpfangen = 1; |
AnzahlEmpfangsBytes = buf_ptr; |
RxdBuffer[buf_ptr] = '\r'; |
if(/*(RxdBuffer[1] == MeineSlaveAdresse || (RxdBuffer[1] == 'a')) && */(RxdBuffer[2] == 'R')) wdt_enable(WDTO_250MS); // Reset-Commando |
} |
} |
else |
switch(UartState) |
{ |
case 0: |
if(SioTmp == '#' && !NeuerDatensatzEmpfangen) UartState = 1; // Startzeichen und Daten schon verarbeitet |
buf_ptr = 0; |
RxdBuffer[buf_ptr++] = SioTmp; |
crc = SioTmp; |
break; |
case 1: // Adresse auswerten |
UartState++; |
RxdBuffer[buf_ptr++] = SioTmp; |
crc += SioTmp; |
break; |
case 2: // Eingangsdaten sammeln |
RxdBuffer[buf_ptr] = SioTmp; |
if(buf_ptr < MAX_EMPFANGS_BUFF) buf_ptr++; |
else UartState = 0; |
crc += SioTmp; |
break; |
default: |
UartState = 0; |
break; |
} |
} |
// -------------------------------------------------------------------------- |
void AddCRC(unsigned int wieviele) |
{ |
unsigned int tmpCRC = 0,i; |
for(i = 0; i < wieviele;i++) |
{ |
tmpCRC += SendeBuffer[i]; |
} |
tmpCRC %= 4096; |
SendeBuffer[i++] = '=' + tmpCRC / 64; |
SendeBuffer[i++] = '=' + tmpCRC % 64; |
SendeBuffer[i++] = '\r'; |
UebertragungAbgeschlossen = 0; |
UDR = SendeBuffer[0]; |
} |
// -------------------------------------------------------------------------- |
void SendOutData(unsigned char cmd,unsigned char modul, unsigned char *snd, unsigned char len) |
{ |
unsigned int pt = 0; |
unsigned char a,b,c; |
unsigned char ptr = 0; |
SendeBuffer[pt++] = '#'; // Startzeichen |
SendeBuffer[pt++] = modul; // Adresse (a=0; b=1,...) |
SendeBuffer[pt++] = cmd; // Commando |
while(len) |
{ |
if(len) { a = snd[ptr++]; len--;} else a = 0; |
if(len) { b = snd[ptr++]; len--;} else b = 0; |
if(len) { c = snd[ptr++]; len--;} else c = 0; |
SendeBuffer[pt++] = '=' + (a >> 2); |
SendeBuffer[pt++] = '=' + (((a & 0x03) << 4) | ((b & 0xf0) >> 4)); |
SendeBuffer[pt++] = '=' + (((b & 0x0f) << 2) | ((c & 0xc0) >> 6)); |
SendeBuffer[pt++] = '=' + ( c & 0x3f); |
} |
AddCRC(pt); |
} |
// -------------------------------------------------------------------------- |
void Decode64(unsigned char *ptrOut, unsigned char len, unsigned char ptrIn,unsigned char max) // Wohin mit den Daten; Wie lang; Wo im RxdBuffer |
{ |
unsigned char a,b,c,d; |
unsigned char ptr = 0; |
unsigned char x,y,z; |
while(len) |
{ |
a = RxdBuffer[ptrIn++] - '='; |
b = RxdBuffer[ptrIn++] - '='; |
c = RxdBuffer[ptrIn++] - '='; |
d = RxdBuffer[ptrIn++] - '='; |
if(ptrIn > max - 2) break; // nicht mehr Daten verarbeiten, als empfangen wurden |
x = (a << 2) | (b >> 4); |
y = ((b & 0x0f) << 4) | (c >> 2); |
z = ((c & 0x03) << 6) | d; |
if(len--) ptrOut[ptr++] = x; else break; |
if(len--) ptrOut[ptr++] = y; else break; |
if(len--) ptrOut[ptr++] = z; else break; |
} |
} |
// -------------------------------------------------------------------------- |
void BearbeiteRxDaten(void) |
{ |
if(!NeuerDatensatzEmpfangen) return; |
//unsigned int tmp_int_arr1[1]; |
//unsigned int tmp_int_arr2[2]; |
//unsigned int tmp_int_arr3[3]; |
unsigned char tmp_char_arr2[2]; |
//unsigned char tmp_char_arr3[3]; |
//unsigned char tmp_char_arr4[4]; |
//if(!MotorenEin) |
PcZugriff = 255; |
switch(RxdBuffer[2]) |
{ |
case 'c':// Debugdaten incl. Externe IOs usw |
Decode64((unsigned char *) &DebugIn,sizeof(DebugIn),3,AnzahlEmpfangsBytes); |
/* for(unsigned char i=0; i<4;i++) |
{ |
EE_CheckAndWrite(&EE_Buffer[EE_DEBUGWERTE + i*2], DebugIn.Analog[i]); |
EE_CheckAndWrite(&EE_Buffer[EE_DEBUGWERTE + i*2 + 1], DebugIn.Analog[i] >> 8); |
}*/ |
RemoteTasten |= DebugIn.RemoteTasten; |
DebugDataAnforderung = 1; |
break; |
case 'h':// x-1 Displayzeilen |
Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes); |
RemoteTasten |= tmp_char_arr2[0]; |
DebugDisplayAnforderung = 1; |
break; |
case 't':// Motortest |
Decode64((unsigned char *) &MotorTest[0],sizeof(MotorTest),3,AnzahlEmpfangsBytes); |
break; |
case 'v': // Version-Anforderung und Ausbaustufe |
GetVersionAnforderung = 1; |
break; |
case 'g':// "Get"-Anforderung für Debug-Daten |
// Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
DebugGetAnforderung = 1; |
break; |
case 'q':// "Get"-Anforderung für Settings |
// Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
Decode64((unsigned char *) &tmp_char_arr2[0],sizeof(tmp_char_arr2),3,AnzahlEmpfangsBytes); |
if(tmp_char_arr2[0] != 0xff) |
{ |
if(tmp_char_arr2[0] > 5) tmp_char_arr2[0] = 5; |
ReadParameterSet(tmp_char_arr2[0], (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
SendOutData('L' + tmp_char_arr2[0] -1,MeineSlaveAdresse,(unsigned char *) &EE_Parameter.Kanalbelegung[0],STRUCT_PARAM_LAENGE); |
} |
else |
SendOutData('L' + GetActiveParamSetNumber()-1,MeineSlaveAdresse,(unsigned char *) &EE_Parameter.Kanalbelegung[0],STRUCT_PARAM_LAENGE); |
break; |
case 'l': |
case 'm': |
case 'n': |
case 'o': |
case 'p': // Parametersatz speichern |
Decode64((unsigned char *) &EE_Parameter.Kanalbelegung[0],STRUCT_PARAM_LAENGE,3,AnzahlEmpfangsBytes); |
WriteParameterSet(RxdBuffer[2] - 'l' + 1, (unsigned char *) &EE_Parameter.Kanalbelegung[0], STRUCT_PARAM_LAENGE); |
eeprom_write_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET], RxdBuffer[2] - 'l' + 1); // aktiven Datensatz merken |
Piep(GetActiveParamSetNumber()); |
break; |
} |
// DebugOut.AnzahlZyklen = Debug_Timer_Intervall; |
NeuerDatensatzEmpfangen = 0; |
} |
//############################################################################ |
//Routine für die Serielle Ausgabe |
int uart_putchar (char c) |
//############################################################################ |
{ |
if (c == '\n') |
uart_putchar('\r'); |
//Warten solange bis Zeichen gesendet wurde |
loop_until_bit_is_set(USR, UDRE); |
//Ausgabe des Zeichens |
UDR = c; |
return (0); |
} |
// -------------------------------------------------------------------------- |
void WriteProgramData(unsigned int pos, unsigned char wert) |
{ |
//if (ProgramLocation == IN_RAM) Buffer[pos] = wert; |
// else eeprom_write_byte(&EE_Buffer[pos], wert); |
// Buffer[pos] = wert; |
} |
//############################################################################ |
//INstallation der Seriellen Schnittstelle |
void UART_Init (void) |
//############################################################################ |
{ |
//Enable TXEN im Register UCR TX-Data Enable & RX Enable |
UCR=(1 << TXEN) | (1 << RXEN); |
// UART Double Speed (U2X) |
USR |= (1<<U2X); |
// RX-Interrupt Freigabe |
UCSRB |= (1<<RXCIE); |
// TX-Interrupt Freigabe |
UCSRB |= (1<<TXCIE); |
//Teiler wird gesetzt |
UBRR=(SYSCLK / (BAUD_RATE * 8L) - 1); |
//UBRR = 33; |
//öffnet einen Kanal für printf (STDOUT) |
//fdevopen (uart_putchar, 0); |
//sbi(PORTD,4); |
Debug_Timer = SetDelay(200); |
} |
//--------------------------------------------------------------------------------------------- |
void DatenUebertragung(void) |
{ |
static char dis_zeile = 0; |
if(!UebertragungAbgeschlossen) return; |
if(DebugGetAnforderung && UebertragungAbgeschlossen) // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen |
{ |
SendOutData('G',MeineSlaveAdresse,(unsigned char *) &DebugIn,sizeof(DebugIn)); |
DebugGetAnforderung = 0; |
} |
if((CheckDelay(Debug_Timer) || DebugDataAnforderung) && UebertragungAbgeschlossen) |
{ |
SendOutData('D',MeineSlaveAdresse,(unsigned char *) &DebugOut,sizeof(DebugOut)); |
DebugDataAnforderung = 0; |
Debug_Timer = SetDelay(MIN_DEBUG_INTERVALL); |
} |
if(DebugDisplayAnforderung && UebertragungAbgeschlossen) |
{ |
Menu(); |
DebugDisplayAnforderung = 0; |
if(++dis_zeile == 4) dis_zeile = 0; |
SendOutData('0' + dis_zeile,0,&DisplayBuff[20 * dis_zeile],20); // DisplayZeile übertragen |
} |
if(GetVersionAnforderung && UebertragungAbgeschlossen) |
{ |
SendOutData('V',MeineSlaveAdresse,(unsigned char *) &VersionInfo,sizeof(VersionInfo)); |
GetVersionAnforderung = 0; |
} |
} |
/branches/v0.60_MicroMag3_Nick666/trunc/uart.d |
---|
0,0 → 1,2 |
uart.o uart.d : uart.c main.h old_macros.h _settings.h printf_P.h compass.h \ |
timer0.h uart.h analog.h twimaster.h menu.h rc.h fc.h gps.h math.h |
/branches/v0.60_MicroMag3_Nick666/trunc/uart.h |
---|
0,0 → 1,95 |
#ifndef _UART_H |
#define _UART_H |
#define MAX_SENDE_BUFF 150 |
#define MAX_EMPFANGS_BUFF 150 |
void BearbeiteRxDaten(void); |
extern unsigned char DebugGetAnforderung; |
extern unsigned volatile char SendeBuffer[MAX_SENDE_BUFF]; |
extern unsigned volatile char RxdBuffer[MAX_EMPFANGS_BUFF]; |
extern unsigned volatile char UebertragungAbgeschlossen; |
extern unsigned volatile char PC_DebugTimeout; |
extern unsigned volatile char NeueKoordinateEmpfangen; |
extern unsigned char MeineSlaveAdresse; |
extern unsigned char PcZugriff; |
extern int Debug_Timer; |
extern void UART_Init (void); |
extern int uart_putchar (char c); |
extern void boot_program_page (uint32_t page, uint8_t *buf); |
extern void DatenUebertragung(void); |
extern void DecodeNMEA(void); |
extern unsigned char MotorTest[4]; |
struct str_DebugOut |
{ |
unsigned char Digital[13]; |
unsigned int AnzahlZyklen; |
unsigned int Zeit; |
unsigned char Sekunden; |
unsigned int Analog[16]; // Debugwerte |
}; |
extern struct str_DebugOut DebugOut; |
struct str_Debug |
{ |
unsigned char Digital[2]; |
unsigned char RemoteTasten; |
unsigned int Analog[4]; |
}; |
extern struct str_Debug DebugIn; |
struct str_VersionInfo |
{ |
unsigned char Hauptversion; |
unsigned char Nebenversion; |
unsigned char PCKompatibel; |
unsigned char Rserved[7]; |
}; |
extern struct str_VersionInfo VersionInfo; |
//Die Baud_Rate der Seriellen Schnittstelle ist 9600 Baud |
//#define BAUD_RATE 9600 //Baud Rate für die Serielle Schnittstelle |
//#define BAUD_RATE 14400 //Baud Rate für die Serielle Schnittstelle |
//#define BAUD_RATE 28800 //Baud Rate für die Serielle Schnittstelle |
//#define BAUD_RATE 38400 //Baud Rate für die Serielle Schnittstelle |
#define BAUD_RATE 57600 //Baud Rate für die Serielle Schnittstelle |
//Anpassen der seriellen Schnittstellen Register wenn ein ATMega128 benutzt wird |
#if defined (__AVR_ATmega128__) |
# define USR UCSR0A |
# define UCR UCSR0B |
# define UDR UDR0 |
# define UBRR UBRR0L |
# define EICR EICRB |
#endif |
#if defined (__AVR_ATmega32__) |
# define USR UCSRA |
# define UCR UCSRB |
# define UBRR UBRRL |
# define EICR EICRB |
# define INT_VEC_RX SIG_UART_RECV |
# define INT_VEC_TX SIG_UART_TRANS |
#endif |
#if defined (__AVR_ATmega644__) |
# define USR UCSR0A |
# define UCR UCSR0B |
# define UDR UDR0 |
# define UBRR UBRR0L |
# define EICR EICR0B |
# define TXEN TXEN0 |
# define RXEN RXEN0 |
# define RXCIE RXCIE0 |
# define TXCIE TXCIE0 |
# define U2X U2X0 |
# define UCSRB UCSR0B |
# define UDRE UDRE0 |
# define INT_VEC_RX SIG_USART_RECV |
# define INT_VEC_TX SIG_USART_TRANS |
#endif |
#endif //_UART_H |
/branches/v0.60_MicroMag3_Nick666/trunc/version.txt |
---|
0,0 → 1,49 |
------- |
V0.53 27.04.2007 H.Buss |
- erste öffentliche Version |
V0.53b 29.04.2007 H.Buss |
- der FAKTOR_I war versehentlich auf Null, dann liegt der MikroKopter nicht so hart in der Luft |
V0.53c 29.04.2007 H.Buss |
- es gib ein Menü, in dem die Werte der Kanäle nach Nick, Roll, Gas,... sortiert sind. |
Die angezeigten Werte waren nicht die Werte der Funke |
V0.54 01.05.2007 H.Buss |
- die Paramtersätze können jetzt vor dem Start ausgewählt werden |
Dazu wird beim Kalibrieren der Messwerte (Gashebel oben links) der Nick-Rollhebel abgefragt: |
2 3 4 |
1 x 5 |
- - - |
Bedeutet: Nick-Rollhebel Links Mitte = Setting:1 Links Oben = Setting:2 usw. |
- der Faktor_I für den Hauptregler ist hinzugekommen. Im Heading-Hold-Modus sollte er vergössert werden, was Stabilität bringt |
V0.55 14.05.2007 H.Buss |
- es können nun Servos an J3,J4,J5 mit den Kanälen 5-7 gesteuert werden |
V0.56 14.05.2007 H.Buss |
- es gab Probleme mit Funken, die mehr als 8 Kanäle haben, wenn mehrere Kanäle dann auf Null waren |
- Funken, die nicht bis +-120 aussteuern können, sollten jetzt auch gehen |
V0.57 24.05.2007 H.Buss |
- Der Höhenregler kann nun auch mittels Schalter bedient werden |
- Bug im Gier-Algorithmus behoben; Schnelles Gieren fürhrte dazu, dass der MK zu weit gedreht hat |
- Kompass-Einfluss dämpfen bei Neigung |
- Man kann zwischen Kompass FIX (Richtung beim Kalibrieren) und Variabel (einstellbar per Gier) wählen |
- Der Motortest vom Kopter-Tool geht jetzt |
- Man kann den Parametersätzen einen Namen geben |
- Das Kamerasetting ist unter Setting 2 defaultmässig integriert |
V0.58 30.05.2007 H.Buss |
- Der Höhenregler-Algorithmus wird nun umgangen, wenn der Höhenreglerschalter aus ist |
V0.60 17.08.2007 H.Buss |
- "Schwindel-Bug" behoben |
- Die Poti-Werte werden jetzt auf Unterlauf (<0) überprüft |
- Poti4 zugefügt |
- Es werden jetzt 8 Kanäle ausgewertet |
- Kamera-Servo (an J7) |
- Die Settings müssen überschrieben werden |