Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
6aa2708
Add proper export of maxchanends and fix a couple of typos
ed-xmos Aug 2, 2018
2b129ad
copied CMakeLists.txt from sln_voice and tidied
xhuw Mar 30, 2023
703eb12
Merge pull request #63 from xhuw/feature/minimal-cmake-support
xhuw Mar 31, 2023
2a254f1
Fix alignment
Aug 7, 2023
a07dbef
Add SSRC reference source and simple Makefile
ed-xmos Aug 17, 2023
3da9577
WIP pytest version of ssrc test with golden ref gen
ed-xmos Aug 18, 2023
59f4a02
work around struct member referring to parent struct type
ed-xmos Aug 18, 2023
d0aece7
Add to Jenkins file
ed-xmos Aug 18, 2023
5c2923c
Update Jenkinsfile with vers
ed-xmos Aug 18, 2023
2e8e874
fix typo in Jenkins
ed-xmos Aug 18, 2023
13d7ea1
Jenkins python environment
ed-xmos Aug 18, 2023
1122cc4
fix call to pytest
ed-xmos Aug 18, 2023
1aaf227
Reset download dir for venv
ed-xmos Aug 18, 2023
4e96bc3
Account for dirs in xcorePrepareSandbox
ed-xmos Aug 18, 2023
d381cdf
Remove old tests from pytest list
ed-xmos Aug 18, 2023
4c712f6
Checkout submodule
ed-xmos Aug 18, 2023
9abbd64
Jenkins debug
ed-xmos Aug 18, 2023
beed32e
ditch views
ed-xmos Aug 18, 2023
8899a9f
debug
ed-xmos Aug 18, 2023
fa68a04
Remove Jenkins debug and run pytest in parallel
ed-xmos Aug 18, 2023
397918a
Work around parallel issue
ed-xmos Aug 18, 2023
51aa8a4
Add fixtures to support pre test golden ref gen
ed-xmos Aug 21, 2023
5986bcd
handle markers properly
ed-xmos Aug 21, 2023
180218a
increase debug
ed-xmos Aug 21, 2023
74e8fde
Fix path length issue
ed-xmos Aug 21, 2023
3c7411e
Break out common stuff into utils
ed-xmos Aug 21, 2023
682d5fd
More tidy to common
ed-xmos Aug 21, 2023
5274f08
Further tidy up
ed-xmos Aug 21, 2023
52572d4
Remove old asrc expects
ed-xmos Aug 21, 2023
4d42a4a
Add ASRC deliverable source
ed-xmos Aug 21, 2023
9ee4c4d
Fix two minor bugs in ASRC deliverable to get compiling
ed-xmos Aug 21, 2023
0bfc21b
Update prepare to support asrc
ed-xmos Aug 21, 2023
8bf67e8
Get ASRC test running
ed-xmos Aug 21, 2023
0523493
Fix comparison and use 1d_array comparison for better debug on fail
ed-xmos Aug 21, 2023
25da9d0
Revert in_samps to 256
ed-xmos Aug 21, 2023
931c902
Tidy and add tone_gen
ed-xmos Aug 22, 2023
7d6e314
Add source files for VPU SRC from XV3800
ed-xmos Aug 22, 2023
2382ef5
Add cmake file which only builds VPU src if XS3
ed-xmos Aug 22, 2023
15a8bc7
Delete old files
ed-xmos Aug 22, 2023
ae2a508
Guard VPU SRC in include
ed-xmos Aug 22, 2023
b4d1114
Disable VPU tests for now
ed-xmos Aug 22, 2023
6d6e159
Move some files
ed-xmos Aug 22, 2023
9c8bba4
WIP integration of VPU SRC
ed-xmos Aug 22, 2023
611d816
working vpu ff3 test
ed-xmos Aug 23, 2023
edd2553
Split out vpu test into prepare and main
ed-xmos Aug 23, 2023
8871d78
unbreak mrhf test
ed-xmos Aug 23, 2023
e6664e5
Working rat test
ed-xmos Aug 23, 2023
c247d49
Get naming right so rat runs under vpu as well as ff3
ed-xmos Aug 23, 2023
6b7e066
Tidy Jenkins
ed-xmos Aug 23, 2023
5d9a0e9
Merge branch 'feature/3800_src' into feature/ap-1
ed-xmos Aug 23, 2023
90e89d4
Fix missing Jenkins function
ed-xmos Aug 23, 2023
3c64da0
Fix XS2 building
ed-xmos Aug 23, 2023
fe4ad86
Add us3_voice test
ed-xmos Aug 23, 2023
6baf116
Fix scope in jenkinsfile
ed-xmos Aug 23, 2023
d7cd4b5
Jenkins file
ed-xmos Aug 23, 2023
3d687ac
Add missing us3_voice test dir
ed-xmos Aug 23, 2023
76b5477
Add ds3 voice test
ed-xmos Aug 23, 2023
11d136f
Add unity_gain_voice_test
ed-xmos Aug 23, 2023
7f43e3e
Merge commit '6aa27084d25b1a89291dd96266b1419c0811a75d' into feature/…
ed-xmos Aug 23, 2023
cd1e4f0
Tidy and pytest wrapper for XS2 tests
ed-xmos Aug 23, 2023
59052fc
Use pytest wrapper and xdist for xs2
ed-xmos Aug 23, 2023
6dc3b8c
legacy build test
ed-xmos Aug 23, 2023
b354184
Jenkins scope fail
ed-xmos Aug 23, 2023
3ba4319
venv
ed-xmos Aug 23, 2023
6ae162c
debug
ed-xmos Aug 23, 2023
b28e7a9
fix deps clone
ed-xmos Aug 23, 2023
b0b42e8
add os3 ds3 models
ed-xmos Aug 24, 2023
fcae891
Cmake files for os3/ds3 golden
ed-xmos Aug 24, 2023
8a35b7d
WIP support for OS3 DS3 tests
ed-xmos Aug 24, 2023
d240827
ds3 test working
ed-xmos Aug 24, 2023
b510232
Add ff3 hifi to Jenkins
ed-xmos Aug 24, 2023
64d913c
os3 uses same filter coeffs for both model and dut
ed-xmos Aug 24, 2023
ff9ff97
Fix warning in legacy build test
ed-xmos Aug 24, 2023
d23d8eb
os3 and ds3 read data from dat file now instead of being hard coded i…
ed-xmos Aug 24, 2023
6386052
Fix linker report 'MAYBE' for chanends
ed-xmos Aug 24, 2023
ae7fed8
Add failing doc test
ed-xmos Aug 24, 2023
2f8cbd5
Fix Jenkins file order for venv
ed-xmos Aug 24, 2023
7770261
typo
ed-xmos Aug 24, 2023
a247ee4
pip install order
ed-xmos Aug 24, 2023
1c3726b
Fix infrapps install order
ed-xmos Aug 24, 2023
3ef6dd1
Passing source check
ed-xmos Aug 24, 2023
9a51850
LICENSE. and source check updates
ed-xmos Aug 24, 2023
fa5054a
Bump version to 2.3.0 and update changelog
ed-xmos Aug 24, 2023
ab3ff66
More changelog updates
ed-xmos Aug 24, 2023
ca184ca
Remove superfluous version check (done by changelog test)
ed-xmos Aug 24, 2023
bd3c8c4
Initial commit of updated docs files
ed-xmos Aug 24, 2023
0b9726b
WIP doc builder add missing files
ed-xmos Aug 24, 2023
820b121
More doc tweaks
ed-xmos Aug 24, 2023
2dbefb9
Build with pdf images
ed-xmos Aug 24, 2023
7d5801b
Minor fixes to docs
ed-xmos Aug 24, 2023
4fa1d12
Github action fixes
ed-xmos Aug 24, 2023
fde7d16
Initial profile test partially working
ed-xmos Aug 29, 2023
9d80563
Barchart working for profile
ed-xmos Aug 29, 2023
4fcf956
rename ASM labels to allow easier profiling
ed-xmos Aug 29, 2023
843255f
Revert "rename ASM labels to allow easier profiling"
ed-xmos Aug 29, 2023
c3e6e28
Rename asm inner loops to allow profiling
ed-xmos Aug 29, 2023
c3b1255
Working and gprof worked around results for ASRC
ed-xmos Aug 29, 2023
cc0c161
Add in ASRC profile test
ed-xmos Aug 29, 2023
30aa708
Fix copyright
ed-xmos Aug 29, 2023
e721375
Extract max_mips
ed-xmos Aug 29, 2023
589a9bd
debug
ed-xmos Aug 29, 2023
a1a3304
Merge branch 'develop' of github.com:xmos/lib_src into feature/ffva_a…
Aug 30, 2023
718d74c
Add missing profile functions for DS cases and improve output
ed-xmos Aug 30, 2023
7ded861
Github action docs
ed-xmos Aug 30, 2023
a4b20df
docs path yml
ed-xmos Aug 30, 2023
544f475
Clean command line
ed-xmos Aug 30, 2023
d97284d
remove DOCYGEN input to build
ed-xmos Aug 30, 2023
072f4a3
syntax fix
ed-xmos Aug 30, 2023
880ef57
remove DOXYFILE inc
ed-xmos Aug 30, 2023
4ea7120
typo
ed-xmos Aug 30, 2023
285981f
doc build fixes
ed-xmos Aug 30, 2023
15d0bf1
Add docs vs changelog version check
ed-xmos Aug 30, 2023
d75b666
Merge branch 'feature/profile_asrc' into feature/docs
ed-xmos Aug 30, 2023
c109a32
Fix path on version check
ed-xmos Aug 30, 2023
172cb5b
Changelog updates
ed-xmos Aug 30, 2023
fef6c47
Remove AN00231
ed-xmos Aug 30, 2023
d4a1dd1
Add doxygen API
ed-xmos Aug 30, 2023
368e93d
WIP docs update
ed-xmos Aug 30, 2023
e5544c9
Documentation updates
ed-xmos Aug 31, 2023
16afa6c
Commit missing images
ed-xmos Aug 31, 2023
f64be68
Remove cmake install from tests
ed-xmos Aug 31, 2023
089441c
Fix legacy build for XS3 issue
ed-xmos Aug 31, 2023
8251a51
Merge pull request #71 from ed-xmos/feature/ap-1
ed-xmos Sep 1, 2023
b736c9e
Use 64bit rate ratio, in 4.(28+32) format
Sep 1, 2023
8081231
Merge branch 'develop' of github.com:xmos/lib_src into feature/ffva_a…
Sep 1, 2023
958ee96
Fix copyright check
Sep 1, 2023
3ba8658
Merge pull request #77 from shuchitak/feature/ffva_asrc_otg
shuchitak Sep 1, 2023
aa0d345
Declare fFsRatioDeviation as double
Sep 1, 2023
8c4f654
Change fFsRatioDeviation to double in the dut test file as well
Sep 1, 2023
961439d
changelog update
Sep 4, 2023
bd593a2
refreshing vpu_voice API documentation
uvvpavel Sep 4, 2023
3134014
changelog update
Sep 4, 2023
f122c18
Merge pull request #78 from shuchitak/bugfix/fs_deviation_increase_pr…
shuchitak Sep 5, 2023
af63c32
Merge pull request #79 from uvvpavel/feature/vpu_voice_doc_update
uvvpavel Sep 5, 2023
5082bef
Removed duplicate defines
Sep 5, 2023
1f0ef20
Added 64bit fs ratio support to dut test and golden reference
Sep 5, 2023
c0a59cb
Renamed uiFsRatio_lsb to uiFsRatio_lo
Sep 5, 2023
1aed0c0
Copyright check
Sep 5, 2023
d13b965
Update changelog
Sep 5, 2023
5509bd5
Merge pull request #80 from shuchitak/feature/high_precision_rate_ratio
shuchitak Sep 5, 2023
209fd36
Docs review update from AC
ed-xmos Sep 6, 2023
889fd52
Figure numbering and multiple fixes
ed-xmos Sep 6, 2023
2dfecce
More docs cleanup
ed-xmos Sep 6, 2023
e6b6425
Add doxygen to docs build
ed-xmos Sep 6, 2023
9300831
Readme clarify
ed-xmos Sep 6, 2023
0a3be9f
Doc review
ed-xmos Sep 6, 2023
c694d09
UK->US 'English'
ed-xmos Sep 6, 2023
e5f9f0a
xcore-ai to XCORE-AI
ed-xmos Sep 7, 2023
29e186d
Revert changelog
ed-xmos Sep 7, 2023
e4037a1
Merge pull request #81 from ed-xmos/feature/doc_review
ed-xmos Sep 7, 2023
1f52e6b
Merge pull request #82 from xmos/develop
ed-xmos Sep 7, 2023
57cdc84
Fix changelog
ed-xmos Sep 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
57 changes: 57 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Documentation

on:
schedule:
# run at 5am every day
- cron: '0 5 * * *'
push:
paths:
- '.github/workflows/docs.yml'
- 'settings.json'
- 'doc/exclude_patterns.inc'
- '**/doc/**'
pull_request:
paths:
- '.github/workflows/docs.yml'
- 'settings.json'
- 'doc/exclude-patterns.inc'
- '**/doc/**'

# Allow manually triggering the workflow.
workflow_dispatch: {}

env:
XCORE_DOC_BUILDER: 'ghcr.io/xmos/doc_builder:v3.0.0'

jobs:
build_documentation:
name: Build and package documentation
if: github.repository_owner == 'xmos'
runs-on: ubuntu-latest
steps:
- name: Checkout this repo
uses: actions/checkout@v3

- uses: actions/setup-python@v4
with:
python-version: '3.10.x'

- name: Pull doc_builder container
run: |
docker pull ${XCORE_DOC_BUILDER}

- name: Build documentation
run: |
pwd
docker run --user "$(id -u):$(id -g)" --rm -v ${{ github.workspace }}:/build -e EXCLUDE_PATTERNS="/build/doc/exclude-patterns.inc" -e OUTPUT_DIR="/build/doc/_build" -e PDF=1 -e SKIP_LINK=1 -e DOXYGEN_INCLUDE=/build/doc/Doxyfile.inc -e DOXYGEN_INPUT=ignore ${XCORE_DOC_BUILDER}
tree
DOC_VERSION=$(grep version settings.json | grep -o "[0-9]*\.[0-9]*\.[0-9]")
mv doc/_build/pdf/programming_guide.pdf doc/_build/pdf/programming_guide_v${DOC_VERSION}.pdf

- name: Save documentation artifacts
uses: actions/upload-artifact@v3
with:
name: docs lib_src
path: doc/_build
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
retention-days: 30
9 changes: 5 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ xsim.args
tests/src_output
*.bak
**/.venv/**

# waf build files
.lock-waf_*
.waf-*/
build/
tests/tmp
tests/vpu_ff3_test/autogen
tests/vpu_rat_test/autogen
*.csv
python/lib_src.egg-info
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "xmos_cmake_toolchain"]
path = xmos_cmake_toolchain
url = git@github.com:xmos/xmos_cmake_toolchain.git
32 changes: 32 additions & 0 deletions .xmos_ignore_source_check
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
tests/asrc_test/model/ASRC.c
tests/asrc_test/model/ASRC.h
tests/asrc_test/model/FIR.c
tests/asrc_test/model/FIR.h
tests/asrc_test/model/FilterDefs.c
tests/asrc_test/model/FilterDefs.h
tests/asrc_test/model/IntArithmetic.c
tests/asrc_test/model/IntArithmetic.h
tests/asrc_test/model/Main.c
tests/asrc_test/model/Main.h
tests/ds3_test/model/FIRDS3.c
tests/ds3_test/model/FIRDS3.h
tests/ds3_test/model/IntArithmetic.c
tests/ds3_test/model/IntArithmetic.h
tests/ds3_test/model/Main.c
tests/ds3_test/model/Main.h
tests/os3_test/model/FIROS3.c
tests/os3_test/model/FIROS3.h
tests/os3_test/model/IntArithmetic.c
tests/os3_test/model/IntArithmetic.h
tests/os3_test/model/Main.c
tests/os3_test/model/Main.h
tests/ssrc_test/model/FIR.c
tests/ssrc_test/model/FIR.h
tests/ssrc_test/model/FilterDefs.c
tests/ssrc_test/model/FilterDefs.h
tests/ssrc_test/model/IntArithmetic.c
tests/ssrc_test/model/IntArithmetic.h
tests/ssrc_test/model/Main.c
tests/ssrc_test/model/Main.h
tests/ssrc_test/model/SSRC.c
tests/ssrc_test/model/SSRC.h
33 changes: 25 additions & 8 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,28 @@
lib_src change log
==================

2.3.0
-----

* ADDED: XS3 VPU optimised voice fixed factor of 3 upsampling/downsampling
* ADDED: XS3 VPU optimised voice fixed factor of 3/2 upsampling/downsampling
* CHANGED: OS3 uses firos3_144.dat coefficients by default inline with model
* CHANGED: Replaced xmostest with pytest for all SRC automated tests
* CHANGED: Used XMOS doc builder for documentation
* CHANGED: Golden reference test signals now generated automatically by CI
* RESOLVED: Linker warning on channel ends
* REMOVED: AN00231 ASRC App Note. See github.com/xmos/sln_voice/examples
* CHANGED: Increased precision of the fFsRatioDeviation used in the C emulator
from float to double
* CHANGED: Allow for 64 bits in the rate ratio passed to asrc_process() for
extra precision

* Changes to dependencies:

- lib_logging: 2.0.1 -> 3.1.1

- lib_xassert: 2.0.1 -> 4.1.0

2.2.0
-----

Expand All @@ -11,17 +33,12 @@ lib_src change log
ensures that the voice fixed factor of 3 up and down sampling functions do
not crash with a LOAD_STORE exception.
* ADDED: Missing device attributes to the .xn file of the AN00231 app note.

* Changes to dependencies:

- lib_logging: 2.0.1 -> 3.1.1

- lib_xassert: 2.0.1 -> 4.1.0
* ADDED: Minimal cmake support.

2.1.0
-----

* CHANGED: Use XMOS Public Licence Version 1
* CHANGED: Use XMOS Public License Version 1

2.0.1
-----
Expand All @@ -32,7 +49,7 @@ lib_src change log
2.0.0
-----

* CHANGED: Build files updated to support new "xcommon" behaviour in xwaf.
* CHANGED: Build files updated to support new "xcommon" behavior in xwaf.

1.1.2
-----
Expand Down
79 changes: 79 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
cmake_minimum_required(VERSION 3.21.0)

project(lib_src LANGUAGES C ASM)

if(PROJECT_IS_TOP_LEVEL)
include(FetchContent)
FetchContent_Declare(
fwk_core
GIT_REPOSITORY https://github.com/xmos/fwk_core.git
GIT_TAG v1.0.0
)
FetchContent_MakeAvailable(fwk_core)
endif()

add_subdirectory(tests)

# XS3 only libraries that use the Vector Processing Unit
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL XCORE_XS3A)
## Source files
file(GLOB_RECURSE LIB_C_SOURCES_XS3 lib_src/src/fixed_factor_vpu_voice/*.c )
file(GLOB_RECURSE LIB_XC_SOURCES_XS3 lib_src/src/fixed_factor_vpu_voice/*.xc)
file(GLOB_RECURSE LIB_ASM_SOURCES_XS3 lib_src/src/fixed_factor_vpu_voice/*.S )

set(ADDITIONAL_INCLUDE_DIRS_XS3 lib_src/src/fixed_factor_vpu_voice
)
endif()


if((${CMAKE_SYSTEM_PROCESSOR} STREQUAL XCORE_XS3A) OR (${CMAKE_SYSTEM_PROCESSOR} STREQUAL XCORE_XS2A))
## Source files
file(GLOB_RECURSE LIB_C_SOURCES lib_src/src/fixed_factor_of_3/*.c
lib_src/src/fixed_factor_of_3_voice/*.c
lib_src/src/multirate_hifi/*.c
)
file(GLOB_RECURSE LIB_XC_SOURCES lib_src/src/fixed_factor_of_3/*.xc
lib_src/src/fixed_factor_of_3_voice/*.xc
lib_src/src/multirate_hifi/*.xc
)
file(GLOB_RECURSE LIB_ASM_SOURCES lib_src/src/fixed_factor_of_3/*.S
lib_src/src/fixed_factor_of_3_voice/*.S
lib_src/src/multirate_hifi/*.S
)

## Create library target
add_library(lib_src STATIC EXCLUDE_FROM_ALL ${LIB_C_SOURCES}
${LIB_C_SOURCES_XS3}
${LIB_ASM_SOURCES}
${LIB_XC_SOURCES_XS3}
${LIB_XC_SOURCES}
${LIB_ASM_SOURCES_XS3}
)

target_include_directories(lib_src
PUBLIC
lib_src/api
lib_src/src/fixed_factor_of_3
lib_src/src/fixed_factor_of_3/ds3
lib_src/src/fixed_factor_of_3/os3
lib_src/src/fixed_factor_of_3_voice
lib_src/src/fixed_factor_of_3_voice/ds3_voice
lib_src/src/fixed_factor_of_3_voice/us3_voice
lib_src/src/multirate_hifi
lib_src/src/multirate_hifi/asrc
lib_src/src/multirate_hifi/ssrc
${ADDITIONAL_INCLUDE_DIRS_XS3}
)

target_link_libraries(lib_src
PUBLIC
# defined in fwk_core
framework_core_legacy_compat
)

target_compile_options(lib_src
PRIVATE
-O3
-g
)
endif()
Loading