summaryrefslogtreecommitdiff
path: root/demos
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-09-20 23:53:48 +0700
committerhathach <[email protected]>2013-09-20 23:53:48 +0700
commitf8f398a6813567306acd2e9dcfae199c3ecbad3a (patch)
tree2a0acf048ae44a4ee439c3928a8f74f91ea30bf5 /demos
parent52ae0afeb6dc781b82e6e71b864a02184eaf62bf (diff)
start to add msc host, fix dangerous problem with unstable device when plugged --> 200 ms delay. 50ms delay after each port reset
Diffstat (limited to 'demos')
-rw-r--r--demos/bsp/boards/embedded_artists/board_ea4357.c6
-rw-r--r--demos/bsp/boards/embedded_artists/board_ea4357.h4
-rw-r--r--demos/host/host_os_none/host_os_none.uvopt161
-rw-r--r--demos/host/host_os_none/host_os_none.uvproj20
-rw-r--r--demos/host/src/cdc_serial_app.c9
-rw-r--r--demos/host/src/keyboard_app.c9
-rw-r--r--demos/host/src/main.c19
-rw-r--r--demos/host/src/mouse_app.c9
-rw-r--r--demos/host/src/msc_app.c90
-rw-r--r--demos/host/src/rndis_app.c15
-rw-r--r--demos/host/src/tusb_config.h2
11 files changed, 266 insertions, 78 deletions
diff --git a/demos/bsp/boards/embedded_artists/board_ea4357.c b/demos/bsp/boards/embedded_artists/board_ea4357.c
index 92d2bc49d..9e88c5d6b 100644
--- a/demos/bsp/boards/embedded_artists/board_ea4357.c
+++ b/demos/bsp/boards/embedded_artists/board_ea4357.c
@@ -62,9 +62,9 @@ void board_init(void)
// TODO Device only USB0
// 1.5Kohm pull-up resistor is needed on the USB DP data signal. GPIO28 (base), P9_5 (LPC4357) controls
- scu_pinmux(0x9, 5, MD_PUP|MD_EZI|MD_ZI, FUNC4); // GPIO5[18]
- GPIO_SetDir(5, BIT_(18), 1); // output
- GPIO_ClearValue(5, BIT_(18));
+// scu_pinmux(0x9, 5, MD_PUP|MD_EZI|MD_ZI, FUNC4); // GPIO5[18]
+// GPIO_SetDir(5, BIT_(18), 1); // output
+// GPIO_ClearValue(5, BIT_(18));
//------------- I2C (required by LED) -------------//
diff --git a/demos/bsp/boards/embedded_artists/board_ea4357.h b/demos/bsp/boards/embedded_artists/board_ea4357.h
index 138e6e199..0cef17358 100644
--- a/demos/bsp/boards/embedded_artists/board_ea4357.h
+++ b/demos/bsp/boards/embedded_artists/board_ea4357.h
@@ -66,8 +66,8 @@
#include "oem_base_board/pca9532.h" // LEDs
-#define CFG_PRINTF_TARGET PRINTF_TARGET_SWO
-//#define CFG_PRINTF_TARGET PRINTF_TARGET_UART
+//#define CFG_PRINTF_TARGET PRINTF_TARGET_SWO
+#define CFG_PRINTF_TARGET PRINTF_TARGET_UART
/*=========================================================================
HARDWARE MAC ADDRESS
diff --git a/demos/host/host_os_none/host_os_none.uvopt b/demos/host/host_os_none/host_os_none.uvopt
index 45db11ebb..47780250f 100644
--- a/demos/host/host_os_none/host_os_none.uvopt
+++ b/demos/host/host_os_none/host_os_none.uvopt
@@ -165,12 +165,17 @@
<WinNumber>1</WinNumber>
<ItemText>usbh_devices</ItemText>
</Ww>
+ <Ww>
+ <count>1</count>
+ <WinNumber>1</WinNumber>
+ <ItemText>msch_data</ItemText>
+ </Ww>
</WatchWindow1>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>1</aLwin>
- <aCover>1</aCover>
+ <aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
@@ -184,7 +189,7 @@
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
- <aPa1>1</aPa1>
+ <aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>1</aSer4>
<StkLoc>0</StkLoc>
@@ -197,6 +202,12 @@
</Tracepoint>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
+ <SystemViewers>
+ <Entry>
+ <Name>System Viewer\USB0</Name>
+ <WinId>35905</WinId>
+ </Entry>
+ </SystemViewers>
</TargetOption>
</Target>
@@ -392,10 +403,10 @@
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
- <ColumnNumber>54</ColumnNumber>
+ <ColumnNumber>43</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>171</TopLine>
- <CurrentLine>191</CurrentLine>
+ <TopLine>164</TopLine>
+ <CurrentLine>171</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\src\main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
@@ -424,10 +435,10 @@
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
- <ColumnNumber>20</ColumnNumber>
+ <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>120</TopLine>
- <CurrentLine>129</CurrentLine>
+ <TopLine>1</TopLine>
+ <CurrentLine>1</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\src\keyboard_app.c</PathWithFileName>
<FilenameWithoutPath>keyboard_app.c</FilenameWithoutPath>
@@ -442,8 +453,8 @@
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>122</TopLine>
- <CurrentLine>131</CurrentLine>
+ <TopLine>1</TopLine>
+ <CurrentLine>1</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\src\mouse_app.c</PathWithFileName>
<FilenameWithoutPath>mouse_app.c</FilenameWithoutPath>
@@ -466,6 +477,22 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>6</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\src\msc_app.c</PathWithFileName>
+ <FilenameWithoutPath>msc_app.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
</Group>
<Group>
@@ -476,7 +503,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>6</FileNumber>
+ <FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -492,13 +519,13 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>7</FileNumber>
+ <FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>2</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>139</TopLine>
+ <TopLine>140</TopLine>
<CurrentLine>146</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\bsp\boards\embedded_artists\board_ea4357.c</PathWithFileName>
@@ -508,13 +535,13 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>8</FileNumber>
+ <FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>1</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>101</TopLine>
+ <TopLine>102</TopLine>
<CurrentLine>106</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\bsp\boards\printf_retarget.c</PathWithFileName>
@@ -524,7 +551,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>9</FileNumber>
+ <FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -540,7 +567,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>10</FileNumber>
+ <FileNumber>11</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -556,7 +583,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>11</FileNumber>
+ <FileNumber>12</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -572,7 +599,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>12</FileNumber>
+ <FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -588,7 +615,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>13</FileNumber>
+ <FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -604,7 +631,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>14</FileNumber>
+ <FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -620,7 +647,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
- <FileNumber>15</FileNumber>
+ <FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -638,20 +665,20 @@
<Group>
<GroupName>tinyusb</GroupName>
- <tvExp>0</tvExp>
+ <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>16</FileNumber>
+ <FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>57</TopLine>
- <CurrentLine>76</CurrentLine>
+ <CurrentLine>69</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\tinyusb\tusb.c</PathWithFileName>
<FilenameWithoutPath>tusb.c</FilenameWithoutPath>
@@ -660,7 +687,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>17</FileNumber>
+ <FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -676,7 +703,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>18</FileNumber>
+ <FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -692,7 +719,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>19</FileNumber>
+ <FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -708,14 +735,14 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>20</FileNumber>
+ <FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>1</TopLine>
- <CurrentLine>1</CurrentLine>
+ <TopLine>370</TopLine>
+ <CurrentLine>375</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\tinyusb\host\usbh.c</PathWithFileName>
<FilenameWithoutPath>usbh.c</FilenameWithoutPath>
@@ -724,14 +751,14 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>21</FileNumber>
+ <FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
- <ColumnNumber>47</ColumnNumber>
+ <ColumnNumber>25</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>4</TopLine>
- <CurrentLine>13</CurrentLine>
+ <TopLine>141</TopLine>
+ <CurrentLine>147</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\tinyusb\host\ehci\ehci.c</PathWithFileName>
<FilenameWithoutPath>ehci.c</FilenameWithoutPath>
@@ -740,7 +767,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>22</FileNumber>
+ <FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -756,7 +783,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>23</FileNumber>
+ <FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -772,14 +799,14 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>24</FileNumber>
+ <FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
- <ColumnNumber>8</ColumnNumber>
+ <ColumnNumber>7</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>68</TopLine>
- <CurrentLine>77</CurrentLine>
+ <TopLine>101</TopLine>
+ <CurrentLine>112</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\tinyusb\hal\hal_lpc43xx.c</PathWithFileName>
<FilenameWithoutPath>hal_lpc43xx.c</FilenameWithoutPath>
@@ -788,7 +815,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>25</FileNumber>
+ <FileNumber>26</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -804,7 +831,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>26</FileNumber>
+ <FileNumber>27</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -820,7 +847,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>27</FileNumber>
+ <FileNumber>28</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -836,14 +863,14 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>28</FileNumber>
+ <FileNumber>29</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
- <ColumnNumber>28</ColumnNumber>
+ <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>23</TopLine>
- <CurrentLine>32</CurrentLine>
+ <TopLine>1</TopLine>
+ <CurrentLine>1</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\tinyusb\class\cdc_host.c</PathWithFileName>
<FilenameWithoutPath>cdc_host.c</FilenameWithoutPath>
@@ -852,7 +879,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>29</FileNumber>
+ <FileNumber>30</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -868,7 +895,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
- <FileNumber>30</FileNumber>
+ <FileNumber>31</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -882,6 +909,22 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>32</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>15</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>86</TopLine>
+ <CurrentLine>90</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\tinyusb\class\msc_host.c</PathWithFileName>
+ <FilenameWithoutPath>msc_host.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
</Group>
<Group>
@@ -892,7 +935,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
- <FileNumber>31</FileNumber>
+ <FileNumber>33</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -908,7 +951,7 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
- <FileNumber>32</FileNumber>
+ <FileNumber>34</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -924,7 +967,7 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
- <FileNumber>33</FileNumber>
+ <FileNumber>35</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -940,7 +983,7 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
- <FileNumber>34</FileNumber>
+ <FileNumber>36</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -956,7 +999,7 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
- <FileNumber>35</FileNumber>
+ <FileNumber>37</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -972,7 +1015,7 @@
</File>
<File>
<GroupNumber>4</GroupNumber>
- <FileNumber>36</FileNumber>
+ <FileNumber>38</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
@@ -996,14 +1039,14 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>5</GroupNumber>
- <FileNumber>37</FileNumber>
+ <FileNumber>39</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>146</TopLine>
- <CurrentLine>151</CurrentLine>
+ <TopLine>145</TopLine>
+ <CurrentLine>146</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\bsp\lpc43xx\startup_keil\startup_LPC43xx.s</PathWithFileName>
<FilenameWithoutPath>startup_LPC43xx.s</FilenameWithoutPath>
diff --git a/demos/host/host_os_none/host_os_none.uvproj b/demos/host/host_os_none/host_os_none.uvproj
index 1de4faabd..644f41bf9 100644
--- a/demos/host/host_os_none/host_os_none.uvproj
+++ b/demos/host/host_os_none/host_os_none.uvproj
@@ -416,6 +416,11 @@
<FileType>1</FileType>
<FilePath>..\src\rndis_app.c</FilePath>
</File>
+ <File>
+ <FileName>msc_app.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\src\msc_app.c</FilePath>
+ </File>
</Files>
</Group>
<Group>
@@ -551,6 +556,11 @@
<FileType>1</FileType>
<FilePath>..\..\..\tinyusb\class\hid_host.c</FilePath>
</File>
+ <File>
+ <FileName>msc_host.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\tinyusb\class\msc_host.c</FilePath>
+ </File>
</Files>
</Group>
<Group>
@@ -1010,6 +1020,11 @@
<FileType>1</FileType>
<FilePath>..\src\rndis_app.c</FilePath>
</File>
+ <File>
+ <FileName>msc_app.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\src\msc_app.c</FilePath>
+ </File>
</Files>
</Group>
<Group>
@@ -1185,6 +1200,11 @@
<FileType>1</FileType>
<FilePath>..\..\..\tinyusb\class\hid_host.c</FilePath>
</File>
+ <File>
+ <FileName>msc_host.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\tinyusb\class\msc_host.c</FilePath>
+ </File>
</Files>
</Group>
<Group>
diff --git a/demos/host/src/cdc_serial_app.c b/demos/host/src/cdc_serial_app.c
index e44cfd924..a6616964b 100644
--- a/demos/host/src/cdc_serial_app.c
+++ b/demos/host/src/cdc_serial_app.c
@@ -135,5 +135,14 @@ OSAL_TASK_FUNCTION( cdc_serial_app_task ) (void* p_task_para)
OSAL_TASK_LOOP_END
}
+#else
+
+// dummy implementation to remove #ifdef in main.c
+void cdc_serial_app_init(void) { }
+OSAL_TASK_FUNCTION( cdc_serial_app_task ) (void* p_task_para)
+{
+ OSAL_TASK_LOOP_BEGIN
+ OSAL_TASK_LOOP_END
+}
#endif
diff --git a/demos/host/src/keyboard_app.c b/demos/host/src/keyboard_app.c
index 404a27c41..b0f92a2c7 100644
--- a/demos/host/src/keyboard_app.c
+++ b/demos/host/src/keyboard_app.c
@@ -178,4 +178,13 @@ static inline uint8_t keycode_to_ascii(uint8_t modifier, uint8_t keycode)
hid_keycode_to_ascii_tbl [modifier & (KEYBOARD_MODIFIER_LEFTSHIFT | KEYBOARD_MODIFIER_RIGHTSHIFT) ? 1 : 0] [keycode];
}
+#else
+
+// dummy implementation to remove #ifdef in main.c
+void keyboard_app_init(void) { }
+OSAL_TASK_FUNCTION( keyboard_app_task ) (void* p_task_para)
+{
+ OSAL_TASK_LOOP_BEGIN
+ OSAL_TASK_LOOP_END
+}
#endif
diff --git a/demos/host/src/main.c b/demos/host/src/main.c
index ca26e633f..66df55d7a 100644
--- a/demos/host/src/main.c
+++ b/demos/host/src/main.c
@@ -55,7 +55,7 @@
#include "cdc_serial_app.h"
#include "rndis_app.h"
-#if defined(__CODE_RED)
+#if defined(__CODE_RED) // TODO to be removed
#include <cr_section_macros.h>
#include <NXP/crp.h>
// Variable to store CRP value in. Will be placed automatically
@@ -104,10 +104,13 @@ void os_none_start_scheduler(void)
while (1)
{
tusb_task_runner();
+ led_blinking_task(NULL);
+
keyboard_app_task(NULL);
mouse_app_task(NULL);
+ msc_app_task(NULL);
cdc_serial_app_task(NULL);
- led_blinking_task(NULL);
+ rndis_app_task(NULL);
}
}
#endif
@@ -123,21 +126,11 @@ int main(void)
//------------- application task init -------------//
(void) osal_task_create( OSAL_TASK_REF(led_blinking_task) );
-#if TUSB_CFG_HOST_HID_KEYBOARD
keyboard_app_init();
-#endif
-
-#if TUSB_CFG_HOST_HID_MOUSE
mouse_app_init();
-#endif
-
-#if TUSB_CFG_HOST_CDC
+ msc_app_init();
cdc_serial_app_init();
-
- #if TUSB_CFG_HOST_CDC_RNDIS
rndis_app_init();
- #endif
-#endif
//------------- start OS scheduler (never return) -------------//
#if TUSB_CFG_OS == TUSB_OS_FREERTOS
diff --git a/demos/host/src/mouse_app.c b/demos/host/src/mouse_app.c
index 3469fc4ab..32596e9e2 100644
--- a/demos/host/src/mouse_app.c
+++ b/demos/host/src/mouse_app.c
@@ -156,5 +156,14 @@ static inline void process_mouse_report(tusb_mouse_report_t const * p_report)
}
+#else
+
+// dummy implementation to remove #ifdef in main.c
+void mouse_app_init(void) { }
+OSAL_TASK_FUNCTION( mouse_app_task ) (void* p_task_para)
+{
+ OSAL_TASK_LOOP_BEGIN
+ OSAL_TASK_LOOP_END
+}
#endif
diff --git a/demos/host/src/msc_app.c b/demos/host/src/msc_app.c
new file mode 100644
index 000000000..54de0d0cf
--- /dev/null
+++ b/demos/host/src/msc_app.c
@@ -0,0 +1,90 @@
+/**************************************************************************/
+/*!
+ @file msc_app.c
+ @author hathach (tinyusb.org)
+
+ @section LICENSE
+
+ Software License Agreement (BSD License)
+
+ Copyright (c) 2013, hathach (tinyusb.org)
+ 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. Neither the name of the copyright holders 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 COPYRIGHT HOLDERS ''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 HOLDER 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 part of the tinyusb stack.
+*/
+/**************************************************************************/
+
+//--------------------------------------------------------------------+
+// INCLUDE
+//--------------------------------------------------------------------+
+#include "mouse_app.h"
+
+#if TUSB_CFG_OS != TUSB_OS_NONE
+#include "app_os_prio.h"
+#endif
+
+#if TUSB_CFG_HOST_MSC
+
+//--------------------------------------------------------------------+
+// MACRO CONSTANT TYPEDEF
+//--------------------------------------------------------------------+
+
+//--------------------------------------------------------------------+
+// INTERNAL OBJECT & FUNCTION DECLARATION
+//--------------------------------------------------------------------+
+
+//--------------------------------------------------------------------+
+// tinyusb callback (ISR context)
+//--------------------------------------------------------------------+
+void tusbh_msc_mounted_cb(uint8_t dev_addr)
+{
+ printf("an msc device is mounted\n");
+}
+
+//--------------------------------------------------------------------+
+// IMPLEMENTATION
+//--------------------------------------------------------------------+
+void msc_app_init(void)
+{
+
+}
+
+//------------- main task -------------//
+OSAL_TASK_FUNCTION( msc_app_task ) (void* p_task_para)
+{
+
+}
+
+#else
+// dummy implementation to remove #ifdef in main.c
+void msc_app_init(void) { }
+OSAL_TASK_FUNCTION( msc_app_task ) (void* p_task_para)
+{
+ OSAL_TASK_LOOP_BEGIN
+ OSAL_TASK_LOOP_END
+}
+
+
+#endif
diff --git a/demos/host/src/rndis_app.c b/demos/host/src/rndis_app.c
index cb9c9ba0d..d0027ea97 100644
--- a/demos/host/src/rndis_app.c
+++ b/demos/host/src/rndis_app.c
@@ -69,5 +69,20 @@ void rndis_app_init(void)
}
+OSAL_TASK_FUNCTION( rndis_app_task ) (void* p_task_para)
+{
+ OSAL_TASK_LOOP_BEGIN
+ OSAL_TASK_LOOP_END
+}
+
+#else
+
+// dummy implementation to remove #ifdef in main.c
+void rndis_app_init(void) { }
+OSAL_TASK_FUNCTION( rndis_app_task ) (void* p_task_para)
+{
+ OSAL_TASK_LOOP_BEGIN
+ OSAL_TASK_LOOP_END
+}
#endif
diff --git a/demos/host/src/tusb_config.h b/demos/host/src/tusb_config.h
index 215a77cbc..30891fcbb 100644
--- a/demos/host/src/tusb_config.h
+++ b/demos/host/src/tusb_config.h
@@ -76,7 +76,7 @@
#define TUSB_CFG_HOST_HID_KEYBOARD 1
#define TUSB_CFG_HOST_HID_MOUSE 1
#define TUSB_CFG_HOST_HID_GENERIC 0
-#define TUSB_CFG_HOST_MSC 0
+#define TUSB_CFG_HOST_MSC 1
#define TUSB_CFG_HOST_CDC 1
#define TUSB_CFG_HOST_CDC_RNDIS 1