PK s(H6tU U - AN00201_startKIT_audio_effects_demo/.xproject
1.0.2PK s(HJbx , AN00201_startKIT_audio_effects_demo/.project
AN00201_startKIT_audio_effects_democom.xmos.cdt.core.ModulePathBuildercom.xmos.cdt.core.LegacyProjectCheckerBuildercom.xmos.cdt.core.ProjectInfoSyncBuilderorg.eclipse.cdt.managedbuilder.core.genmakebuilderclean,full,incremental,org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilderfull,incremental,org.eclipse.cdt.core.cnatureorg.eclipse.cdt.managedbuilder.core.managedBuildNatureorg.eclipse.cdt.managedbuilder.core.ScannerConfigNaturecom.xmos.cdt.core.XdeProjectNature
PK s(H#p.t , AN00201_startKIT_audio_effects_demo/Makefile# The TARGET variable determines what target system the application is
# compiled for. It either refers to an XN file in the source directories
# or a valid argument for the --target option when compiling
TARGET = STARTKIT
# The APP_NAME variable determines the name of the final .xe file. It should
# not include the .xe postfix. If left blank the name will default to
# the project name
APP_NAME =
# The USED_MODULES variable lists other module used by the application.
USED_MODULES = lib_gpio(>=1.0.0) lib_i2c(>=3.0.0) lib_i2s(>=2.0.0) lib_logging(>=2.0.0) lib_startkit_support(>=2.0.0)
# The flags passed to xcc when building the application
# You can also set the following to override flags for a particular language:
# XCC_XC_FLAGS, XCC_C_FLAGS, XCC_ASM_FLAGS, XCC_CPP_FLAGS
# If the variable XCC_MAP_FLAGS is set it overrides the flags passed to
# xcc for the final link (mapping) stage.
XCC_FLAGS = -O2 -g -report -DDEBUG_PRINT_ENABLE=1
# The XCORE_ARM_PROJECT variable, if set to 1, configures this
# project to create both xCORE and ARM binaries.
XCORE_ARM_PROJECT = 0
# The VERBOSE variable, if set to 1, enables verbose output from the make system.
VERBOSE = 0
XMOS_MAKE_PATH ?= ../..
-include $(XMOS_MAKE_PATH)/xcommon/module_xcommon/build/Makefile.common
PK s(H H8 8 . AN00201_startKIT_audio_effects_demo/README.rstA startKIT audio effects demo
=============================
.. version:: 1.0.2
Summary
-------
This application note shows a demo that applies audio effects to a
stereo audio stream on the XMOS startKIT. It shows the use of driving
audio using the I2S library, performing simple DSP in xC and accessing
I/O on the startKIT using the startKIT support library.
The application loops audio input back to audio output with a biquad
filter and a modulating gain applied to the signal. The effects are
controlled via the button and the sliders on the startKIT. The example
also shows the xSCOPE tracing functionality of the xTIMEcomposer tools
by sending internal signal values to the development PC via program instrumentation.
Required tools and libraries
............................
.. appdeps::
Required hardware
.................
The application note is designed to run on the XMOS startKIT with the
XMOS audio slice card (XA-SK-AUDIO) connnected to it.
Prerequisites
.............
- This document assumes familiarity with the XMOS xCORE architecture, the XMOS GPIO library,
the XMOS tool chain and the xC language. Documentation related to these aspects which are
not specific to this application note are linked to in the references appendix.
- For descriptions of XMOS related terms found in this document please see the XMOS Glossary [#]_.
- The demo uses various libaries, full details of the functionality
of a library can be found in its user guide [#]_.
.. [#] http://www.xmos.com/published/glossary
.. [#] http://www.xmos.com/support/libraries
PK s(H=J\ 1 AN00201_startKIT_audio_effects_demo/config.xscope
PK s(Hk/0 0 / AN00201_startKIT_audio_effects_demo/LICENSE.txtSoftware Release License Agreement
Copyright (c) 2015, XMOS, All rights reserved.
Parties
(1) XMOS Limited, incorporated and registered in England and Wales
with company number 5494985 whose registered office is 107 Cheapside,
London, EC2V 6DN (XMOS).
(2) An individual or Legal Entity exercising permissions granted by
this License. (Customer)
1. Definitions
1. "Licence" means this Software Licence and any schedules or annexes to it.
"Licence Fee" means the fee for the XMOS Software as detailed in the
Schedule.
"Licensee Modifications" means all developments and
modifications of the XMOS Software developed independently by
You.
"XMOS Modifications" means all developments and modifications of
the XMOS Software developed or co-developed by XMOS.
"XMOS Hardware" means any XMOS hardware devices supplied by XMOS
from time to time and/or the particular XMOS devices detailed in
the Schedule.
"XMOS Software" means the XMOS software detailed in the Schedule,
(including related programmer comments and documentation, if any)
and error corrections, improvements, modifications (including
XMOS Modifications) and updates.
2. The headings in this Licence do not affect its
interpretation. Save where the context otherwise requires,
references to clauses and schedules are to clauses and schedules of
this Licence.
3. Unless the context otherwise requires:
1. references to the Supplier and the Customer include their
permitted successors and assigns;
2. references to statutory provisions include those statutory
provisions as amended or re-enacted; and
3. references to any gender include all genders.
4. Words in the singular include the plural and in the plural
include the singular.
2. Licence
XMOS grants the Customer a non-exclusive licence to use, develop
and modify the XMOS Software with, or for the purpose of being
used with, XMOS Hardware.
3. Consideration
In consideration of the mutual obligations contained in this
Licence, the parties agree to its terms.
4. Term
Subject to clause 12 below, this Licence shall be perpetual.
5. Restrictions on Use
1. The Customer may distribute the XMOS Software (in object
code only) subject to clause 2.
2. The Customer may not sell, distribute, lease or sublicense
the XMOS Software as standalone software, whether as object
or source code. The Customer will adhere to all applicable
import and export laws and regulations of the country in
which it resides and of the United States and United Kingdom,
without limitation. The Customer agrees that it is its
responsibility to obtain copies of and to familiarise itself
fully with these laws and regulations to avoid violation.
6. Modifications
1. The Customer will own all intellectual property rights in
the Licensee Modifications but will undertake to provide XMOS
with any fixes made to correct any bugs found in the XMOS
Software on a non-exclusive, perpetual and royalty free
licence basis.
2. XMOS will own all intellectual property rights in the XMOS
Modifications.
3. The Customer may only use the Licensee Modifications and
XMOS Modifications on, or in relation to, XMOS Hardware.
7. Support
1. Support of the XMOS Software may be provided by XMOS
pursuant to a separate support agreement (the "XMOS Support
Agreement"). In the absence of a separate support agreement,
support may be found via the XMOS website.
8. Warranty and Disclaimer
The XMOS Software is provided "AS IS" without a warranty of any
kind. XMOS and its licensors' entire liability and Customer's
exclusive remedy under this warranty to be determined in XMOS's
sole and absolute discretion, will be either (a) the corrections
of defects in media or replacement of the media, or (b) the
refund of the licence fee paid (if any).
Whilst XMOS gives the Customer the ability to load their own
software and applications onto XMOS devices, the security of
such software and applications when on the XMOS devices is
the Customer's own responsibility and any breach of security
shall not be deemed a defect or failure of the hardware. XMOS
shall have no liability whatsoever in relation to any costs,
damages or other losses Customer may incur as a result of any
breaches of security in relation to your software or
applications.
XMOS AND ITS LICENSORS DISCLAIM ALL OTHER WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING ANY IMPLIED WARRANTY OF
MERCHANTABILITY/ SATISFACTORY QUALITY, FITNESS FOR A
PARTICULAR PURPOSE, OR NON-INFRINGEMENT EXCEPT TO THE EXTENT
THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID UNDER
APPLICABLE LAW.
9. High Risk Activities
The XMOS Software is not designed or intended for use in
conjunction with on-line control equipment in hazardous
environments requiring fail-safe performance, including
without limitation the operation of nuclear facilities,
aircraft navigation or communication systems, air traffic
control, life support machines, or weapons systems
(collectively "High Risk Activities") in which the failure of
the XMOS Software could lead directly to death, personal
injury, or severe physical or environmental damage. XMOS and
its licensors specifically disclaim any express or implied
warranties relating to use of the XMOS Software in connection
with High Risk Activities.
10. Liability
TO THE EXTENT NOT PROHIBITED BY APPLICABLE LAW, NEITHER XMOS
NOR ITS LICENSORS SHALL BE LIABLE FOR ANY LOST REVENUE,
BUSINESS, PROFIT, CONTRACTS OR DATA, ADMINISTRATIVE OR
OVERHEAD EXPENSES, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL,
INCIDENTAL OR PUNITIVE DAMAGES HOWEVER CAUSED AND REGARDLESS
OF THEORY OF LIABILITY ARISING OUT OF THIS LICENCE, EVEN IF
XMOS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In
no event shall XMOS's liability to the Customer whether in
contract, tort (including negligence), or otherwise exceed
the Licence Fee.
Customer agrees to indemnify, hold harmless, and defend XMOS
and its licensors from and against any claims or lawsuits,
including attorneys' fees and any other liabilities, demands,
proceedings, damages, losses, costs, expenses fines and
charges which are made or brought against or incurred by XMOS
as a result of your use or distribution of the Licensee
Modifications or your use or distribution of XMOS Software
other than in accordance with the terms of this Licence.
11. Ownership
The copyrights and all other intellectual and industrial
property rights for the protection of information with respect
to the XMOS Software (including the methods and techniques on
which they are based) are retained by XMOS and/or its
licensors. Nothing in this Agreement serves to transfer such
rights. Consequently, subject to Clause 5, Customer may not
sell, mortgage, underlet, sublease, sublicense, lend or
transfer possession of the XMOS Software in any way whatsoever
to any third party who is not bound by this Agreement.
12. Termination
1. Either party may terminate this Licence at any time on
written notice to the other if the other:
1. is in material or persistent breach of any of the
terms of this Licence and either that breach is
incapable of remedy, or the other party fails to remedy
that breach within 30 days after receiving written
notice requiring it to remedy that breach; or
2. is unable to pay its debts (within the meaning of
section 123 of the Insolvency Act 1986), or becomes
insolvent, or is subject to an order or a resolution
for its liquidation, administration, winding-up or
dissolution (otherwise than for the purposes of a
solvent amalgamation or reconstruction), or has an
administrative or other receiver, manager, trustee,
liquidator, administrator or similar officer appointed
over all or any substantial part of its assets, or
enters into or proposes any composition or arrangement
with its creditors generally, or is subject to any
analogous event or proceeding in any applicable
jurisdiction.
2. Termination by either party in accordance with the rights
contained in clause 12 shall be without prejudice to any
other rights or remedies of that party accrued prior to
termination.
3. On termination for any reason:
1. all rights granted to the Customer under this
Licence shall cease;
2. the Customer shall cease all activities authorised
by this Licence;
3. the Customer shall immediately pay to the Supplier
any sums due to the Supplier under this Licence; and
4. the Customer shall immediately destroy or return to
the Supplier (at the Supplier's option) all copies of
the XMOS Software then in its possession, custody or
control and, in the case of destruction, certify to the
Supplier that it has done so.
4. Clauses 8, 9, 10 and 11 shall survive any effective
termination of this Agreement.
13. Third party rights
No term of this Licence is intended to confer a benefit on, or
to be enforceable by, any person who is not a party to this
licence.
14. Confidentiality and publicity
1. Each party shall, during the term of this Licence and
thereafter, keep confidential all, and shall not use for its
own purposes nor without the prior written consent of the
other disclose to any third party any, information of a
confidential nature (including, without limitation, trade
secrets and information of commercial value) which may become
known to such party from the other party and which relates to
the other party, unless such information is public knowledge
or already known to such party at the time of disclosure, or
subsequently becomes public knowledge other than by breach of
this licence, or subsequently comes lawfully into the
possession of such party from a third party.
2. The terms of this licence are confidential and may not be
disclosed by the Customer without the prior written consent
of XMOS.
3. The provisions of clause 14 shall remain in full force and
effect notwithstanding termination of this licence for any
reason.
15. Entire agreement
This Licence and the documents annexed as appendices to this
Licence or otherwise referred to herein contain the whole
agreement between the parties relating to the subject matter
hereof and supersede all prior agreements, arrangements and
understandings between the parties relating to that subject
matter.
16. Assignment
The Customer shall not assign this Licence or any of the rights
granted under it without XMOS's prior written consent.
17. Governing law and jurisdiction
This Licence shall be governed by and construed in accordance
with English law and each party hereby submits to the
non-exclusive jurisdiction of the English courts.
Schedule
XMOS application note AN00201 software
No license fee.
PK s(Hvy# # - AN00201_startKIT_audio_effects_demo/.cproject
PK s(Hm~ ~ 7 AN00201_startKIT_audio_effects_demo/doc/pdf/AN00201.pdf%PDF-1.5
%
1 0 obj
<< /S /GoTo /D (section*.1) >>
endobj
4 0 obj
(A startKIT audio effects demo)
endobj
5 0 obj
<< /S /GoTo /D (section.1) >>
endobj
8 0 obj
(Overview)
endobj
9 0 obj
<< /S /GoTo /D (subsection.1.1) >>
endobj
12 0 obj
(Introduction)
endobj
13 0 obj
<< /S /GoTo /D (subsection.1.2) >>
endobj
16 0 obj
(Block diagram)
endobj
17 0 obj
<< /S /GoTo /D (section.2) >>
endobj
20 0 obj
(A startKIT audio effects demo)
endobj
21 0 obj
<< /S /GoTo /D (subsection.2.1) >>
endobj
24 0 obj
(Makefile additions for this example)
endobj
25 0 obj
<< /S /GoTo /D (subsection.2.2) >>
endobj
28 0 obj
(Declaring resources used by the application)
endobj
29 0 obj
<< /S /GoTo /D (subsection.2.3) >>
endobj
32 0 obj
(Application defines)
endobj
33 0 obj
<< /S /GoTo /D (subsection.2.4) >>
endobj
36 0 obj
(The application main\(\) function)
endobj
37 0 obj
<< /S /GoTo /D (subsection.2.5) >>
endobj
40 0 obj
(The I2S handler task)
endobj
41 0 obj
<< /S /GoTo /D (subsubsection.2.5.1) >>
endobj
44 0 obj
(Configuring the audio hardware)
endobj
45 0 obj
<< /S /GoTo /D (subsubsection.2.5.2) >>
endobj
48 0 obj
(Communicating audio samples to/from the audio effects task)
endobj
49 0 obj
<< /S /GoTo /D (subsection.2.6) >>
endobj
52 0 obj
(The audio effects task)
endobj
53 0 obj
<< /S /GoTo /D (subsection.2.7) >>
endobj
56 0 obj
(Calculating biquad filters)
endobj
57 0 obj
<< /S /GoTo /D (subsection.2.8) >>
endobj
60 0 obj
(Generating an triangle amplitude modulation wave)
endobj
61 0 obj
<< /S /GoTo /D (subsection.2.9) >>
endobj
64 0 obj
(xSCOPE instrumentation)
endobj
65 0 obj
<< /S /GoTo /D (section.A) >>
endobj
68 0 obj
(Demo Hardware Setup)
endobj
69 0 obj
<< /S /GoTo /D (section.B) >>
endobj
72 0 obj
(Launching the demo application)
endobj
73 0 obj
<< /S /GoTo /D (subsection.B.1) >>
endobj
76 0 obj
(Launching from the command line)
endobj
77 0 obj
<< /S /GoTo /D (subsection.B.2) >>
endobj
80 0 obj
(Launching from xTIMEcomposer Studio)
endobj
81 0 obj
<< /S /GoTo /D (section.C) >>
endobj
84 0 obj
(References)
endobj
85 0 obj
<< /S /GoTo /D [86 0 R /Fit] >>
endobj
91 0 obj <<
/Length 1807
/Filter /FlateDecode
>>
stream
xnܶ_
ХEh'
|>)
Y֊(yj7k'C973
uo8 K(Hrә8o/≘R:L_
u!yfEd̝1]רnѠ|ꗰ̓Pae
JZa&q$E?ryKbe1Q]U((TT$v^xQ̵R.ZЖPfwpVb
8>2IfڃLfbK$MCc8gy15R|q9WxdEb45! UTS!d~DoԶkkbQ-/QmE,kc;a Jt<3f:qȔQ3UϒYh9GT8(i58DDS8Ni,*}@vpAحPN=QH70j
LbۢwRCÞ/Tq$n"dk,$DwR=^}vcAy"蓩O9A"8Z<\\]q()5 Y4jLx̷ޔzi!8C;frb1!Z Hȵy(vIlꇺݶn]^_З
knTbDj6gPgT9<Csw1ןF2띂u0VXO_hx22tQ+BP(
D fKH[|;g{dpyx6Q
¨\жgZ8%fK!)c?HuhM