うおーるぼっとをWiiリモコンでコントロールする新しいプログラムです。 以前のものより、Wiiリモコンが早く繋がる様になりました。 It is a program which controls A with the Wii remote. ※ A Bluetooth dongle and a Wii remote control are needed.

Dependencies:   USBHost mbed FATFileSystem mbed-rtos

Committer:
jksoft
Date:
Mon Jun 10 16:01:50 2013 +0000
Revision:
0:fccb789424fc
1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 0:fccb789424fc 1 /*----------------------------------------------------------------------------
jksoft 0:fccb789424fc 2 * RL-ARM - RTX
jksoft 0:fccb789424fc 3 *----------------------------------------------------------------------------
jksoft 0:fccb789424fc 4 * Name: RTX_Conf_CM.C
jksoft 0:fccb789424fc 5 * Purpose: Configuration of CMSIS RTX Kernel for Cortex-M
jksoft 0:fccb789424fc 6 * Rev.: V4.60
jksoft 0:fccb789424fc 7 *----------------------------------------------------------------------------
jksoft 0:fccb789424fc 8 *
jksoft 0:fccb789424fc 9 * Copyright (c) 1999-2009 KEIL, 2009-2012 ARM Germany GmbH
jksoft 0:fccb789424fc 10 * All rights reserved.
jksoft 0:fccb789424fc 11 * Redistribution and use in source and binary forms, with or without
jksoft 0:fccb789424fc 12 * modification, are permitted provided that the following conditions are met:
jksoft 0:fccb789424fc 13 * - Redistributions of source code must retain the above copyright
jksoft 0:fccb789424fc 14 * notice, this list of conditions and the following disclaimer.
jksoft 0:fccb789424fc 15 * - Redistributions in binary form must reproduce the above copyright
jksoft 0:fccb789424fc 16 * notice, this list of conditions and the following disclaimer in the
jksoft 0:fccb789424fc 17 * documentation and/or other materials provided with the distribution.
jksoft 0:fccb789424fc 18 * - Neither the name of ARM nor the names of its contributors may be used
jksoft 0:fccb789424fc 19 * to endorse or promote products derived from this software without
jksoft 0:fccb789424fc 20 * specific prior written permission.
jksoft 0:fccb789424fc 21 *
jksoft 0:fccb789424fc 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
jksoft 0:fccb789424fc 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
jksoft 0:fccb789424fc 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
jksoft 0:fccb789424fc 25 * ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
jksoft 0:fccb789424fc 26 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
jksoft 0:fccb789424fc 27 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
jksoft 0:fccb789424fc 28 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
jksoft 0:fccb789424fc 29 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
jksoft 0:fccb789424fc 30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
jksoft 0:fccb789424fc 31 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
jksoft 0:fccb789424fc 32 * POSSIBILITY OF SUCH DAMAGE.
jksoft 0:fccb789424fc 33 *---------------------------------------------------------------------------*/
jksoft 0:fccb789424fc 34
jksoft 0:fccb789424fc 35 #include "cmsis_os.h"
jksoft 0:fccb789424fc 36
jksoft 0:fccb789424fc 37
jksoft 0:fccb789424fc 38 /*----------------------------------------------------------------------------
jksoft 0:fccb789424fc 39 * RTX User configuration part BEGIN
jksoft 0:fccb789424fc 40 *---------------------------------------------------------------------------*/
jksoft 0:fccb789424fc 41
jksoft 0:fccb789424fc 42 //-------- <<< Use Configuration Wizard in Context Menu >>> -----------------
jksoft 0:fccb789424fc 43 //
jksoft 0:fccb789424fc 44 // <h>Thread Configuration
jksoft 0:fccb789424fc 45 // =======================
jksoft 0:fccb789424fc 46 //
jksoft 0:fccb789424fc 47 // <o>Number of concurrent running threads <0-250>
jksoft 0:fccb789424fc 48 // <i> Defines max. number of threads that will run at the same time.
jksoft 0:fccb789424fc 49 // counting "main", but not counting "osTimerThread"
jksoft 0:fccb789424fc 50 // <i> Default: 6
jksoft 0:fccb789424fc 51 #ifndef OS_TASKCNT
jksoft 0:fccb789424fc 52 # if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
jksoft 0:fccb789424fc 53 # define OS_TASKCNT 14
jksoft 0:fccb789424fc 54 # elif defined(TARGET_LPC11U24)
jksoft 0:fccb789424fc 55 # define OS_TASKCNT 6
jksoft 0:fccb789424fc 56 # endif
jksoft 0:fccb789424fc 57 #endif
jksoft 0:fccb789424fc 58
jksoft 0:fccb789424fc 59 // <o>Scheduler (+ interrupts) stack size [bytes] <64-4096:8><#/4>
jksoft 0:fccb789424fc 60 #ifndef OS_SCHEDULERSTKSIZE
jksoft 0:fccb789424fc 61 # if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
jksoft 0:fccb789424fc 62 # define OS_SCHEDULERSTKSIZE 256
jksoft 0:fccb789424fc 63 # elif defined(TARGET_LPC11U24)
jksoft 0:fccb789424fc 64 # define OS_SCHEDULERSTKSIZE 128
jksoft 0:fccb789424fc 65 # endif
jksoft 0:fccb789424fc 66 #endif
jksoft 0:fccb789424fc 67
jksoft 0:fccb789424fc 68 // <o>Idle stack size [bytes] <64-4096:8><#/4>
jksoft 0:fccb789424fc 69 // <i> Defines default stack size for the Idle thread.
jksoft 0:fccb789424fc 70 #ifndef OS_IDLESTKSIZE
jksoft 0:fccb789424fc 71 #define OS_IDLESTKSIZE 128
jksoft 0:fccb789424fc 72 #endif
jksoft 0:fccb789424fc 73
jksoft 0:fccb789424fc 74 // <o>Timer Thread stack size [bytes] <64-4096:8><#/4>
jksoft 0:fccb789424fc 75 // <i> Defines stack size for Timer thread.
jksoft 0:fccb789424fc 76 // <i> Default: 200
jksoft 0:fccb789424fc 77 #ifndef OS_TIMERSTKSZ
jksoft 0:fccb789424fc 78 #define OS_TIMERSTKSZ WORDS_STACK_SIZE
jksoft 0:fccb789424fc 79 #endif
jksoft 0:fccb789424fc 80
jksoft 0:fccb789424fc 81 // <q>Check for stack overflow
jksoft 0:fccb789424fc 82 // <i> Includes the stack checking code for stack overflow.
jksoft 0:fccb789424fc 83 // <i> Note that additional code reduces the Kernel performance.
jksoft 0:fccb789424fc 84 #ifndef OS_STKCHECK
jksoft 0:fccb789424fc 85 #define OS_STKCHECK 1
jksoft 0:fccb789424fc 86 #endif
jksoft 0:fccb789424fc 87
jksoft 0:fccb789424fc 88 // <o>Processor mode for thread execution
jksoft 0:fccb789424fc 89 // <0=> Unprivileged mode
jksoft 0:fccb789424fc 90 // <1=> Privileged mode
jksoft 0:fccb789424fc 91 // <i> Default: Privileged mode
jksoft 0:fccb789424fc 92 #ifndef OS_RUNPRIV
jksoft 0:fccb789424fc 93 #define OS_RUNPRIV 1
jksoft 0:fccb789424fc 94 #endif
jksoft 0:fccb789424fc 95
jksoft 0:fccb789424fc 96 // </h>
jksoft 0:fccb789424fc 97 // <h>SysTick Timer Configuration
jksoft 0:fccb789424fc 98 // ==============================
jksoft 0:fccb789424fc 99 //
jksoft 0:fccb789424fc 100 // <o>Timer clock value [Hz] <1-1000000000>
jksoft 0:fccb789424fc 101 // <i> Defines the timer clock value.
jksoft 0:fccb789424fc 102 // <i> Default: 6000000 (6MHz)
jksoft 0:fccb789424fc 103 #ifndef OS_CLOCK
jksoft 0:fccb789424fc 104 # if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
jksoft 0:fccb789424fc 105 # define OS_CLOCK 96000000
jksoft 0:fccb789424fc 106 # elif defined(TARGET_LPC11U24)
jksoft 0:fccb789424fc 107 # define OS_CLOCK 48000000
jksoft 0:fccb789424fc 108 # endif
jksoft 0:fccb789424fc 109 #endif
jksoft 0:fccb789424fc 110
jksoft 0:fccb789424fc 111 // <o>Timer tick value [us] <1-1000000>
jksoft 0:fccb789424fc 112 // <i> Defines the timer tick value.
jksoft 0:fccb789424fc 113 // <i> Default: 1000 (1ms)
jksoft 0:fccb789424fc 114 #ifndef OS_TICK
jksoft 0:fccb789424fc 115 #define OS_TICK 1000
jksoft 0:fccb789424fc 116 #endif
jksoft 0:fccb789424fc 117
jksoft 0:fccb789424fc 118 // </h>
jksoft 0:fccb789424fc 119
jksoft 0:fccb789424fc 120 // <h>System Configuration
jksoft 0:fccb789424fc 121 // =======================
jksoft 0:fccb789424fc 122 //
jksoft 0:fccb789424fc 123 // <e>Round-Robin Thread switching
jksoft 0:fccb789424fc 124 // ===============================
jksoft 0:fccb789424fc 125 //
jksoft 0:fccb789424fc 126 // <i> Enables Round-Robin Thread switching.
jksoft 0:fccb789424fc 127 #ifndef OS_ROBIN
jksoft 0:fccb789424fc 128 #define OS_ROBIN 1
jksoft 0:fccb789424fc 129 #endif
jksoft 0:fccb789424fc 130
jksoft 0:fccb789424fc 131 // <o>Round-Robin Timeout [ticks] <1-1000>
jksoft 0:fccb789424fc 132 // <i> Defines how long a thread will execute before a thread switch.
jksoft 0:fccb789424fc 133 // <i> Default: 5
jksoft 0:fccb789424fc 134 #ifndef OS_ROBINTOUT
jksoft 0:fccb789424fc 135 #define OS_ROBINTOUT 5
jksoft 0:fccb789424fc 136 #endif
jksoft 0:fccb789424fc 137
jksoft 0:fccb789424fc 138 // </e>
jksoft 0:fccb789424fc 139
jksoft 0:fccb789424fc 140 // <e>User Timers
jksoft 0:fccb789424fc 141 // ==============
jksoft 0:fccb789424fc 142 // <i> Enables user Timers
jksoft 0:fccb789424fc 143 #ifndef OS_TIMERS
jksoft 0:fccb789424fc 144 #define OS_TIMERS 1
jksoft 0:fccb789424fc 145 #endif
jksoft 0:fccb789424fc 146
jksoft 0:fccb789424fc 147 // <o>Timer Thread Priority
jksoft 0:fccb789424fc 148 // <1=> Low
jksoft 0:fccb789424fc 149 // <2=> Below Normal
jksoft 0:fccb789424fc 150 // <3=> Normal
jksoft 0:fccb789424fc 151 // <4=> Above Normal
jksoft 0:fccb789424fc 152 // <5=> High
jksoft 0:fccb789424fc 153 // <6=> Realtime (highest)
jksoft 0:fccb789424fc 154 // <i> Defines priority for Timer Thread
jksoft 0:fccb789424fc 155 // <i> Default: High
jksoft 0:fccb789424fc 156 #ifndef OS_TIMERPRIO
jksoft 0:fccb789424fc 157 #define OS_TIMERPRIO 5
jksoft 0:fccb789424fc 158 #endif
jksoft 0:fccb789424fc 159
jksoft 0:fccb789424fc 160 // <o>Timer Callback Queue size <1-32>
jksoft 0:fccb789424fc 161 // <i> Number of concurrent active timer callback functions.
jksoft 0:fccb789424fc 162 // <i> Default: 4
jksoft 0:fccb789424fc 163 #ifndef OS_TIMERCBQSZ
jksoft 0:fccb789424fc 164 #define OS_TIMERCBQS 4
jksoft 0:fccb789424fc 165 #endif
jksoft 0:fccb789424fc 166
jksoft 0:fccb789424fc 167 // </e>
jksoft 0:fccb789424fc 168
jksoft 0:fccb789424fc 169 // <o>ISR FIFO Queue size<4=> 4 entries <8=> 8 entries
jksoft 0:fccb789424fc 170 // <12=> 12 entries <16=> 16 entries
jksoft 0:fccb789424fc 171 // <24=> 24 entries <32=> 32 entries
jksoft 0:fccb789424fc 172 // <48=> 48 entries <64=> 64 entries
jksoft 0:fccb789424fc 173 // <96=> 96 entries
jksoft 0:fccb789424fc 174 // <i> ISR functions store requests to this buffer,
jksoft 0:fccb789424fc 175 // <i> when they are called from the interrupt handler.
jksoft 0:fccb789424fc 176 // <i> Default: 16 entries
jksoft 0:fccb789424fc 177 #ifndef OS_FIFOSZ
jksoft 0:fccb789424fc 178 #define OS_FIFOSZ 16
jksoft 0:fccb789424fc 179 #endif
jksoft 0:fccb789424fc 180
jksoft 0:fccb789424fc 181 // </h>
jksoft 0:fccb789424fc 182
jksoft 0:fccb789424fc 183 //------------- <<< end of configuration section >>> -----------------------
jksoft 0:fccb789424fc 184
jksoft 0:fccb789424fc 185 // Standard library system mutexes
jksoft 0:fccb789424fc 186 // ===============================
jksoft 0:fccb789424fc 187 // Define max. number system mutexes that are used to protect
jksoft 0:fccb789424fc 188 // the arm standard runtime library. For microlib they are not used.
jksoft 0:fccb789424fc 189 #ifndef OS_MUTEXCNT
jksoft 0:fccb789424fc 190 #define OS_MUTEXCNT 12
jksoft 0:fccb789424fc 191 #endif
jksoft 0:fccb789424fc 192
jksoft 0:fccb789424fc 193 /*----------------------------------------------------------------------------
jksoft 0:fccb789424fc 194 * RTX User configuration part END
jksoft 0:fccb789424fc 195 *---------------------------------------------------------------------------*/
jksoft 0:fccb789424fc 196
jksoft 0:fccb789424fc 197 #define OS_TRV ((uint32_t)(((double)OS_CLOCK*(double)OS_TICK)/1E6)-1)
jksoft 0:fccb789424fc 198
jksoft 0:fccb789424fc 199
jksoft 0:fccb789424fc 200 /*----------------------------------------------------------------------------
jksoft 0:fccb789424fc 201 * OS Idle daemon
jksoft 0:fccb789424fc 202 *---------------------------------------------------------------------------*/
jksoft 0:fccb789424fc 203 void os_idle_demon (void) {
jksoft 0:fccb789424fc 204 /* The idle demon is a system thread, running when no other thread is */
jksoft 0:fccb789424fc 205 /* ready to run. */
jksoft 0:fccb789424fc 206
jksoft 0:fccb789424fc 207 /* Sleep: ideally, we should put the chip to sleep.
jksoft 0:fccb789424fc 208 Unfortunately, this usually requires disconnecting the interface chip (debugger).
jksoft 0:fccb789424fc 209 This can be done, but it would break the local file system.
jksoft 0:fccb789424fc 210 */
jksoft 0:fccb789424fc 211 for (;;) {
jksoft 0:fccb789424fc 212 // sleep();
jksoft 0:fccb789424fc 213 }
jksoft 0:fccb789424fc 214 }
jksoft 0:fccb789424fc 215
jksoft 0:fccb789424fc 216 /*----------------------------------------------------------------------------
jksoft 0:fccb789424fc 217 * RTX Errors
jksoft 0:fccb789424fc 218 *---------------------------------------------------------------------------*/
jksoft 0:fccb789424fc 219 extern void mbed_die(void);
jksoft 0:fccb789424fc 220
jksoft 0:fccb789424fc 221 void os_error (uint32_t err_code) {
jksoft 0:fccb789424fc 222 /* This function is called when a runtime error is detected. Parameter */
jksoft 0:fccb789424fc 223 /* 'err_code' holds the runtime error code (defined in RTX_Config.h). */
jksoft 0:fccb789424fc 224 mbed_die();
jksoft 0:fccb789424fc 225 }
jksoft 0:fccb789424fc 226
jksoft 0:fccb789424fc 227 void sysThreadError(osStatus status) {
jksoft 0:fccb789424fc 228 if (status != osOK) {
jksoft 0:fccb789424fc 229 mbed_die();
jksoft 0:fccb789424fc 230 }
jksoft 0:fccb789424fc 231 }
jksoft 0:fccb789424fc 232
jksoft 0:fccb789424fc 233 /*----------------------------------------------------------------------------
jksoft 0:fccb789424fc 234 * RTX Configuration Functions
jksoft 0:fccb789424fc 235 *---------------------------------------------------------------------------*/
jksoft 0:fccb789424fc 236
jksoft 0:fccb789424fc 237 #include "RTX_CM_lib.h"
jksoft 0:fccb789424fc 238
jksoft 0:fccb789424fc 239 /*----------------------------------------------------------------------------
jksoft 0:fccb789424fc 240 * end of file
jksoft 0:fccb789424fc 241 *---------------------------------------------------------------------------*/