From b4c9ef9fd7167f37d0537147c535828f0b2186f9 Mon Sep 17 00:00:00 2001 From: Larry Snizek Date: Thu, 18 Jan 2018 16:51:58 +0000 Subject: [PATCH 1/4] Get rid of channel end in device reboot function --- CHANGELOG.rst | 1 + lib_xua/src/core/endpoint0/xua_endpoint0.c | 6 +++--- lib_xua/src/core/support/reboot.xc | 13 +++++-------- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 278e1263..d7224b95 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -13,6 +13,7 @@ lib_xua Change Log so it shows up with a descriptive name in Windows Device Manager - CHANGE: DFU_BCD_DEVICE removed (now uses BCD_DEVICE) - CHANGE: Renaming in descriptors.h to avoid clashes with application + - CHANGE: Make device reboot function no-argument (was one channel end) - RESOLVED: FIR gain compensation for PDM mics set incorrectly for divide of 8 - RESOLVED: Incorrect xmosdfu DYLD path in test script code - RESOLVED: xmosdfu cannot find XMOS device on modern MacBook Pro (#17897) diff --git a/lib_xua/src/core/endpoint0/xua_endpoint0.c b/lib_xua/src/core/endpoint0/xua_endpoint0.c index c1b14088..390b6cb3 100755 --- a/lib_xua/src/core/endpoint0/xua_endpoint0.c +++ b/lib_xua/src/core/endpoint0/xua_endpoint0.c @@ -56,7 +56,7 @@ #if (XUA_DFU_EN == 1) #include "xua_dfu.h" #define DFU_IF_NUM INPUT_INTERFACES + OUTPUT_INTERFACES + MIDI_INTERFACES + 1 -extern void device_reboot(chanend); +extern void device_reboot(void); #endif unsigned int DFU_mode_active = 0; // 0 - App active, 1 - DFU active @@ -579,7 +579,7 @@ void XUA_Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, if(reset) { DFUDelay(50000000); - device_reboot(c_audioControl); + device_reboot(); } } #endif @@ -794,7 +794,7 @@ void XUA_Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, /* Send reboot command */ DFUDelay(5000000); - device_reboot(c_audioControl); + device_reboot(); } } #endif diff --git a/lib_xua/src/core/support/reboot.xc b/lib_xua/src/core/support/reboot.xc index f23ebdd2..59612418 100644 --- a/lib_xua/src/core/support/reboot.xc +++ b/lib_xua/src/core/support/reboot.xc @@ -30,8 +30,10 @@ static void reset_tile(unsigned const tileId) write_sswitch_reg_no_ack(tileId, 6, pllVal); } -/* Note - resetting is per *node* not tile */ -static inline void device_reboot_aux(void) +/* Reboots XMOS device by writing to the PLL config register + * Note - resetting is per *node* not tile + */ +void device_reboot(void) { #if (XUD_SERIES_SUPPORT == 1) /* Disconnect from bus */ @@ -96,11 +98,6 @@ static inline void device_reboot_aux(void) /* Finally reboot the node this tile resides on */ reset_tile(localTileId); #endif -} -/* Reboots XMOS device by writing to the PLL config register */ -void device_reboot(chanend spare) -{ - device_reboot_aux(); - while(1); + while (1); } From 67a9d9b6c43cbce6ce15d7ab3fb2a139e2ca52ea Mon Sep 17 00:00:00 2001 From: Larry Snizek Date: Tue, 23 Jan 2018 12:30:43 +0000 Subject: [PATCH 2/4] #207: Bug fixes in new reboot code --- lib_xua/src/core/support/reboot.xc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib_xua/src/core/support/reboot.xc b/lib_xua/src/core/support/reboot.xc index 59612418..e3bbd1d1 100644 --- a/lib_xua/src/core/support/reboot.xc +++ b/lib_xua/src/core/support/reboot.xc @@ -1,5 +1,6 @@ #include #include +#include #include #define XS1_SU_PERIPH_USB_ID 0x1 @@ -74,10 +75,10 @@ void device_reboot(void) #ifdef __XS2A__ /* Reset all even tiles, starting from the remote ones */ - for(unsigned int tileNum = tileArrayLength-2; tileNum>=0; tileNum-=2) + for(int tileNum = tileArrayLength-2; tileNum>=0; tileNum-=2) #else /* Reset all tiles, starting from the remote ones */ - for(unsigned int tileNum = tileArrayLength-1; tileNum>=0; tileNum--) + for(int tileNum = tileArrayLength-1; tileNum>=0; tileNum--) #endif { /* Cannot cast tileref to unsigned! */ From b50ae223e8858e6210182e43d2a747b7f37b6b2b Mon Sep 17 00:00:00 2001 From: Larry Snizek Date: Fri, 19 Jan 2018 05:26:44 +0000 Subject: [PATCH 3/4] audiohub: use #if rather than #ifdef for I2S_MODE_TDM --- lib_xua/src/core/audiohub/xua_audiohub.xc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib_xua/src/core/audiohub/xua_audiohub.xc b/lib_xua/src/core/audiohub/xua_audiohub.xc index 05403057..1f4c73f4 100755 --- a/lib_xua/src/core/audiohub/xua_audiohub.xc +++ b/lib_xua/src/core/audiohub/xua_audiohub.xc @@ -406,7 +406,7 @@ static inline void InitPorts_slave(unsigned divide) p_lrclk when pinseq(1) :> void; p_lrclk when pinseq(0) :> void; p_lrclk when pinseq(1) :> void; -#ifdef I2S_MODE_TDM +#if I2S_MODE_TDM p_lrclk when pinseq(0) :> void; p_lrclk when pinseq(1) :> void @ tmp; #else @@ -609,7 +609,7 @@ unsigned static deliver_master(chanend ?c_out, chanend ?c_spd_out /* LR clock delayed by one clock, This is so MSB is output on the falling edge of BCLK * after the falling edge on which LRCLK was toggled. (see I2S spec) */ /* Generate clocks LR Clock low - LEFT */ -#ifdef I2S_MODE_TDM +#if I2S_MODE_TDM p_lrclk <: 0x00000000; #else p_lrclk <: 0x80000000; @@ -736,7 +736,7 @@ unsigned static deliver_master(chanend ?c_out, chanend ?c_spd_out } #endif -#ifdef I2S_MODE_TDM +#if I2S_MODE_TDM if(frameCount == (I2S_CHANS_PER_FRAME-2)) p_lrclk <: 0x80000000; else @@ -778,7 +778,7 @@ unsigned static deliver_master(chanend ?c_out, chanend ?c_spd_out return 0; } -#ifdef I2S_MODE_TDM +#if I2S_MODE_TDM /* Increase frameCount by 2 since we have output two channels (per data line) */ frameCount+=2; if(frameCount == I2S_CHANS_PER_FRAME) @@ -1145,7 +1145,7 @@ unsigned static deliver_slave(chanend ?c_out, chanend ?c_spd_out #endif // (I2S_CHANS_DAC != 0) && (NUM_USB_CHAN_OUT != 0) -#ifdef I2S_MODE_TDM +#if I2S_MODE_TDM /* Increase frameCount by 2 since we have output two channels (per data line) */ frameCount+=2; if(frameCount == I2S_CHANS_PER_FRAME) From ebf49fa05215eabb7b0ba89dacedb9f1e0386372 Mon Sep 17 00:00:00 2001 From: Larry Snizek Date: Fri, 19 Jan 2018 13:22:32 +0000 Subject: [PATCH 4/4] Git ignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 91fb6736..ff869912 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ module_dfu/host/xmosdfu/xmosdfu .lock-waf_* .waf-*/ build/ +host/xmosdfu/xmosdfu