うおーるぼっとを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 * Copyright (C) 2009-2012 by Matthias Ringwald
jksoft 0:fccb789424fc 3 *
jksoft 0:fccb789424fc 4 * Redistribution and use in source and binary forms, with or without
jksoft 0:fccb789424fc 5 * modification, are permitted provided that the following conditions
jksoft 0:fccb789424fc 6 * are met:
jksoft 0:fccb789424fc 7 *
jksoft 0:fccb789424fc 8 * 1. Redistributions of source code must retain the above copyright
jksoft 0:fccb789424fc 9 * notice, this list of conditions and the following disclaimer.
jksoft 0:fccb789424fc 10 * 2. Redistributions in binary form must reproduce the above copyright
jksoft 0:fccb789424fc 11 * notice, this list of conditions and the following disclaimer in the
jksoft 0:fccb789424fc 12 * documentation and/or other materials provided with the distribution.
jksoft 0:fccb789424fc 13 * 3. Neither the name of the copyright holders nor the names of
jksoft 0:fccb789424fc 14 * contributors may be used to endorse or promote products derived
jksoft 0:fccb789424fc 15 * from this software without specific prior written permission.
jksoft 0:fccb789424fc 16 * 4. Any redistribution, use, or modification is done solely for
jksoft 0:fccb789424fc 17 * personal benefit and not for any commercial purpose or for
jksoft 0:fccb789424fc 18 * monetary gain.
jksoft 0:fccb789424fc 19 *
jksoft 0:fccb789424fc 20 * THIS SOFTWARE IS PROVIDED BY MATTHIAS RINGWALD AND CONTRIBUTORS
jksoft 0:fccb789424fc 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
jksoft 0:fccb789424fc 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
jksoft 0:fccb789424fc 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS
jksoft 0:fccb789424fc 24 * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
jksoft 0:fccb789424fc 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
jksoft 0:fccb789424fc 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
jksoft 0:fccb789424fc 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
jksoft 0:fccb789424fc 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
jksoft 0:fccb789424fc 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
jksoft 0:fccb789424fc 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
jksoft 0:fccb789424fc 31 * SUCH DAMAGE.
jksoft 0:fccb789424fc 32 *
jksoft 0:fccb789424fc 33 * Please inquire about commercial licensing options at btstack@ringwald.ch
jksoft 0:fccb789424fc 34 *
jksoft 0:fccb789424fc 35 */
jksoft 0:fccb789424fc 36
jksoft 0:fccb789424fc 37 /*
jksoft 0:fccb789424fc 38 * btstsack_memory.h
jksoft 0:fccb789424fc 39 *
jksoft 0:fccb789424fc 40 * @brief BTstack memory management via configurable memory pools
jksoft 0:fccb789424fc 41 *
jksoft 0:fccb789424fc 42 * @note code semi-atuomatically generated by btstack_memory_generator.py
jksoft 0:fccb789424fc 43 *
jksoft 0:fccb789424fc 44 */
jksoft 0:fccb789424fc 45
jksoft 0:fccb789424fc 46 #include "btstack_memory.h"
jksoft 0:fccb789424fc 47 #include <btstack/memory_pool.h>
jksoft 0:fccb789424fc 48
jksoft 0:fccb789424fc 49 #include <stdlib.h>
jksoft 0:fccb789424fc 50
jksoft 0:fccb789424fc 51 #include "config.h"
jksoft 0:fccb789424fc 52 #include "hci.h"
jksoft 0:fccb789424fc 53 #include "l2cap.h"
jksoft 0:fccb789424fc 54 #include "rfcomm.h"
jksoft 0:fccb789424fc 55
jksoft 0:fccb789424fc 56 // MARK: hci_connection_t
jksoft 0:fccb789424fc 57 #ifdef MAX_NO_HCI_CONNECTIONS
jksoft 0:fccb789424fc 58 #if MAX_NO_HCI_CONNECTIONS > 0
jksoft 0:fccb789424fc 59 static hci_connection_t hci_connection_storage[MAX_NO_HCI_CONNECTIONS];
jksoft 0:fccb789424fc 60 static memory_pool_t hci_connection_pool;
jksoft 0:fccb789424fc 61 void * btstack_memory_hci_connection_get(void){
jksoft 0:fccb789424fc 62 return memory_pool_get(&hci_connection_pool);
jksoft 0:fccb789424fc 63 }
jksoft 0:fccb789424fc 64 void btstack_memory_hci_connection_free(void *hci_connection){
jksoft 0:fccb789424fc 65 memory_pool_free(&hci_connection_pool, hci_connection);
jksoft 0:fccb789424fc 66 }
jksoft 0:fccb789424fc 67 #else
jksoft 0:fccb789424fc 68 void * btstack_memory_hci_connection_get(void){
jksoft 0:fccb789424fc 69 return NULL;
jksoft 0:fccb789424fc 70 }
jksoft 0:fccb789424fc 71 void btstack_memory_hci_connection_free(void *hci_connection){
jksoft 0:fccb789424fc 72 };
jksoft 0:fccb789424fc 73 #endif
jksoft 0:fccb789424fc 74 #elif defined(HAVE_MALLOC)
jksoft 0:fccb789424fc 75 void * btstack_memory_hci_connection_get(void){
jksoft 0:fccb789424fc 76 return malloc(sizeof(hci_connection_t));
jksoft 0:fccb789424fc 77 }
jksoft 0:fccb789424fc 78 void btstack_memory_hci_connection_free(void *hci_connection){
jksoft 0:fccb789424fc 79 free(hci_connection);
jksoft 0:fccb789424fc 80 }
jksoft 0:fccb789424fc 81 #endif
jksoft 0:fccb789424fc 82
jksoft 0:fccb789424fc 83
jksoft 0:fccb789424fc 84 // MARK: l2cap_service_t
jksoft 0:fccb789424fc 85 #ifdef MAX_NO_L2CAP_SERVICES
jksoft 0:fccb789424fc 86 #if MAX_NO_L2CAP_SERVICES > 0
jksoft 0:fccb789424fc 87 static l2cap_service_t l2cap_service_storage[MAX_NO_L2CAP_SERVICES];
jksoft 0:fccb789424fc 88 static memory_pool_t l2cap_service_pool;
jksoft 0:fccb789424fc 89 void * btstack_memory_l2cap_service_get(void){
jksoft 0:fccb789424fc 90 return memory_pool_get(&l2cap_service_pool);
jksoft 0:fccb789424fc 91 }
jksoft 0:fccb789424fc 92 void btstack_memory_l2cap_service_free(void *l2cap_service){
jksoft 0:fccb789424fc 93 memory_pool_free(&l2cap_service_pool, l2cap_service);
jksoft 0:fccb789424fc 94 }
jksoft 0:fccb789424fc 95 #else
jksoft 0:fccb789424fc 96 void * btstack_memory_l2cap_service_get(void){
jksoft 0:fccb789424fc 97 return NULL;
jksoft 0:fccb789424fc 98 }
jksoft 0:fccb789424fc 99 void btstack_memory_l2cap_service_free(void *l2cap_service){
jksoft 0:fccb789424fc 100 };
jksoft 0:fccb789424fc 101 #endif
jksoft 0:fccb789424fc 102 #elif defined(HAVE_MALLOC)
jksoft 0:fccb789424fc 103 void * btstack_memory_l2cap_service_get(void){
jksoft 0:fccb789424fc 104 return malloc(sizeof(l2cap_service_t));
jksoft 0:fccb789424fc 105 }
jksoft 0:fccb789424fc 106 void btstack_memory_l2cap_service_free(void *l2cap_service){
jksoft 0:fccb789424fc 107 free(l2cap_service);
jksoft 0:fccb789424fc 108 }
jksoft 0:fccb789424fc 109 #endif
jksoft 0:fccb789424fc 110
jksoft 0:fccb789424fc 111
jksoft 0:fccb789424fc 112 // MARK: l2cap_channel_t
jksoft 0:fccb789424fc 113 #ifdef MAX_NO_L2CAP_CHANNELS
jksoft 0:fccb789424fc 114 #if MAX_NO_L2CAP_CHANNELS > 0
jksoft 0:fccb789424fc 115 static l2cap_channel_t l2cap_channel_storage[MAX_NO_L2CAP_CHANNELS];
jksoft 0:fccb789424fc 116 static memory_pool_t l2cap_channel_pool;
jksoft 0:fccb789424fc 117 void * btstack_memory_l2cap_channel_get(void){
jksoft 0:fccb789424fc 118 return memory_pool_get(&l2cap_channel_pool);
jksoft 0:fccb789424fc 119 }
jksoft 0:fccb789424fc 120 void btstack_memory_l2cap_channel_free(void *l2cap_channel){
jksoft 0:fccb789424fc 121 memory_pool_free(&l2cap_channel_pool, l2cap_channel);
jksoft 0:fccb789424fc 122 }
jksoft 0:fccb789424fc 123 #else
jksoft 0:fccb789424fc 124 void * btstack_memory_l2cap_channel_get(void){
jksoft 0:fccb789424fc 125 return NULL;
jksoft 0:fccb789424fc 126 }
jksoft 0:fccb789424fc 127 void btstack_memory_l2cap_channel_free(void *l2cap_channel){
jksoft 0:fccb789424fc 128 };
jksoft 0:fccb789424fc 129 #endif
jksoft 0:fccb789424fc 130 #elif defined(HAVE_MALLOC)
jksoft 0:fccb789424fc 131 void * btstack_memory_l2cap_channel_get(void){
jksoft 0:fccb789424fc 132 return malloc(sizeof(l2cap_channel_t));
jksoft 0:fccb789424fc 133 }
jksoft 0:fccb789424fc 134 void btstack_memory_l2cap_channel_free(void *l2cap_channel){
jksoft 0:fccb789424fc 135 free(l2cap_channel);
jksoft 0:fccb789424fc 136 }
jksoft 0:fccb789424fc 137 #endif
jksoft 0:fccb789424fc 138
jksoft 0:fccb789424fc 139
jksoft 0:fccb789424fc 140 // MARK: rfcomm_multiplexer_t
jksoft 0:fccb789424fc 141 #ifdef MAX_NO_RFCOMM_MULTIPLEXERS
jksoft 0:fccb789424fc 142 #if MAX_NO_RFCOMM_MULTIPLEXERS > 0
jksoft 0:fccb789424fc 143 static rfcomm_multiplexer_t rfcomm_multiplexer_storage[MAX_NO_RFCOMM_MULTIPLEXERS];
jksoft 0:fccb789424fc 144 static memory_pool_t rfcomm_multiplexer_pool;
jksoft 0:fccb789424fc 145 void * btstack_memory_rfcomm_multiplexer_get(void){
jksoft 0:fccb789424fc 146 return memory_pool_get(&rfcomm_multiplexer_pool);
jksoft 0:fccb789424fc 147 }
jksoft 0:fccb789424fc 148 void btstack_memory_rfcomm_multiplexer_free(void *rfcomm_multiplexer){
jksoft 0:fccb789424fc 149 memory_pool_free(&rfcomm_multiplexer_pool, rfcomm_multiplexer);
jksoft 0:fccb789424fc 150 }
jksoft 0:fccb789424fc 151 #else
jksoft 0:fccb789424fc 152 void * btstack_memory_rfcomm_multiplexer_get(void){
jksoft 0:fccb789424fc 153 return NULL;
jksoft 0:fccb789424fc 154 }
jksoft 0:fccb789424fc 155 void btstack_memory_rfcomm_multiplexer_free(void *rfcomm_multiplexer){
jksoft 0:fccb789424fc 156 };
jksoft 0:fccb789424fc 157 #endif
jksoft 0:fccb789424fc 158 #elif defined(HAVE_MALLOC)
jksoft 0:fccb789424fc 159 void * btstack_memory_rfcomm_multiplexer_get(void){
jksoft 0:fccb789424fc 160 return malloc(sizeof(rfcomm_multiplexer_t));
jksoft 0:fccb789424fc 161 }
jksoft 0:fccb789424fc 162 void btstack_memory_rfcomm_multiplexer_free(void *rfcomm_multiplexer){
jksoft 0:fccb789424fc 163 free(rfcomm_multiplexer);
jksoft 0:fccb789424fc 164 }
jksoft 0:fccb789424fc 165 #endif
jksoft 0:fccb789424fc 166
jksoft 0:fccb789424fc 167
jksoft 0:fccb789424fc 168 // MARK: rfcomm_service_t
jksoft 0:fccb789424fc 169 #ifdef MAX_NO_RFCOMM_SERVICES
jksoft 0:fccb789424fc 170 #if MAX_NO_RFCOMM_SERVICES > 0
jksoft 0:fccb789424fc 171 static rfcomm_service_t rfcomm_service_storage[MAX_NO_RFCOMM_SERVICES];
jksoft 0:fccb789424fc 172 static memory_pool_t rfcomm_service_pool;
jksoft 0:fccb789424fc 173 void * btstack_memory_rfcomm_service_get(void){
jksoft 0:fccb789424fc 174 return memory_pool_get(&rfcomm_service_pool);
jksoft 0:fccb789424fc 175 }
jksoft 0:fccb789424fc 176 void btstack_memory_rfcomm_service_free(void *rfcomm_service){
jksoft 0:fccb789424fc 177 memory_pool_free(&rfcomm_service_pool, rfcomm_service);
jksoft 0:fccb789424fc 178 }
jksoft 0:fccb789424fc 179 #else
jksoft 0:fccb789424fc 180 void * btstack_memory_rfcomm_service_get(void){
jksoft 0:fccb789424fc 181 return NULL;
jksoft 0:fccb789424fc 182 }
jksoft 0:fccb789424fc 183 void btstack_memory_rfcomm_service_free(void *rfcomm_service){
jksoft 0:fccb789424fc 184 };
jksoft 0:fccb789424fc 185 #endif
jksoft 0:fccb789424fc 186 #elif defined(HAVE_MALLOC)
jksoft 0:fccb789424fc 187 void * btstack_memory_rfcomm_service_get(void){
jksoft 0:fccb789424fc 188 return malloc(sizeof(rfcomm_service_t));
jksoft 0:fccb789424fc 189 }
jksoft 0:fccb789424fc 190 void btstack_memory_rfcomm_service_free(void *rfcomm_service){
jksoft 0:fccb789424fc 191 free(rfcomm_service);
jksoft 0:fccb789424fc 192 }
jksoft 0:fccb789424fc 193 #endif
jksoft 0:fccb789424fc 194
jksoft 0:fccb789424fc 195
jksoft 0:fccb789424fc 196 // MARK: rfcomm_channel_t
jksoft 0:fccb789424fc 197 #ifdef MAX_NO_RFCOMM_CHANNELS
jksoft 0:fccb789424fc 198 #if MAX_NO_RFCOMM_CHANNELS > 0
jksoft 0:fccb789424fc 199 static rfcomm_channel_t rfcomm_channel_storage[MAX_NO_RFCOMM_CHANNELS];
jksoft 0:fccb789424fc 200 static memory_pool_t rfcomm_channel_pool;
jksoft 0:fccb789424fc 201 void * btstack_memory_rfcomm_channel_get(void){
jksoft 0:fccb789424fc 202 return memory_pool_get(&rfcomm_channel_pool);
jksoft 0:fccb789424fc 203 }
jksoft 0:fccb789424fc 204 void btstack_memory_rfcomm_channel_free(void *rfcomm_channel){
jksoft 0:fccb789424fc 205 memory_pool_free(&rfcomm_channel_pool, rfcomm_channel);
jksoft 0:fccb789424fc 206 }
jksoft 0:fccb789424fc 207 #else
jksoft 0:fccb789424fc 208 void * btstack_memory_rfcomm_channel_get(void){
jksoft 0:fccb789424fc 209 return NULL;
jksoft 0:fccb789424fc 210 }
jksoft 0:fccb789424fc 211 void btstack_memory_rfcomm_channel_free(void *rfcomm_channel){
jksoft 0:fccb789424fc 212 };
jksoft 0:fccb789424fc 213 #endif
jksoft 0:fccb789424fc 214 #elif defined(HAVE_MALLOC)
jksoft 0:fccb789424fc 215 void * btstack_memory_rfcomm_channel_get(void){
jksoft 0:fccb789424fc 216 return malloc(sizeof(rfcomm_channel_t));
jksoft 0:fccb789424fc 217 }
jksoft 0:fccb789424fc 218 void btstack_memory_rfcomm_channel_free(void *rfcomm_channel){
jksoft 0:fccb789424fc 219 free(rfcomm_channel);
jksoft 0:fccb789424fc 220 }
jksoft 0:fccb789424fc 221 #endif
jksoft 0:fccb789424fc 222
jksoft 0:fccb789424fc 223
jksoft 0:fccb789424fc 224 // MARK: db_mem_device_name_t
jksoft 0:fccb789424fc 225 #ifdef MAX_NO_DB_MEM_DEVICE_NAMES
jksoft 0:fccb789424fc 226 #if MAX_NO_DB_MEM_DEVICE_NAMES > 0
jksoft 0:fccb789424fc 227 static db_mem_device_name_t db_mem_device_name_storage[MAX_NO_DB_MEM_DEVICE_NAMES];
jksoft 0:fccb789424fc 228 static memory_pool_t db_mem_device_name_pool;
jksoft 0:fccb789424fc 229 void * btstack_memory_db_mem_device_name_get(void){
jksoft 0:fccb789424fc 230 return memory_pool_get(&db_mem_device_name_pool);
jksoft 0:fccb789424fc 231 }
jksoft 0:fccb789424fc 232 void btstack_memory_db_mem_device_name_free(void *db_mem_device_name){
jksoft 0:fccb789424fc 233 memory_pool_free(&db_mem_device_name_pool, db_mem_device_name);
jksoft 0:fccb789424fc 234 }
jksoft 0:fccb789424fc 235 #else
jksoft 0:fccb789424fc 236 void * btstack_memory_db_mem_device_name_get(void){
jksoft 0:fccb789424fc 237 return NULL;
jksoft 0:fccb789424fc 238 }
jksoft 0:fccb789424fc 239 void btstack_memory_db_mem_device_name_free(void *db_mem_device_name){
jksoft 0:fccb789424fc 240 };
jksoft 0:fccb789424fc 241 #endif
jksoft 0:fccb789424fc 242 #elif defined(HAVE_MALLOC)
jksoft 0:fccb789424fc 243 void * btstack_memory_db_mem_device_name_get(void){
jksoft 0:fccb789424fc 244 return malloc(sizeof(db_mem_device_name_t));
jksoft 0:fccb789424fc 245 }
jksoft 0:fccb789424fc 246 void btstack_memory_db_mem_device_name_free(void *db_mem_device_name){
jksoft 0:fccb789424fc 247 free(db_mem_device_name);
jksoft 0:fccb789424fc 248 }
jksoft 0:fccb789424fc 249 #endif
jksoft 0:fccb789424fc 250
jksoft 0:fccb789424fc 251
jksoft 0:fccb789424fc 252 // MARK: db_mem_device_link_key_t
jksoft 0:fccb789424fc 253 #ifdef MAX_NO_DB_MEM_DEVICE_LINK_KEYS
jksoft 0:fccb789424fc 254 #if MAX_NO_DB_MEM_DEVICE_LINK_KEYS > 0
jksoft 0:fccb789424fc 255 static db_mem_device_link_key_t db_mem_device_link_key_storage[MAX_NO_DB_MEM_DEVICE_LINK_KEYS];
jksoft 0:fccb789424fc 256 static memory_pool_t db_mem_device_link_key_pool;
jksoft 0:fccb789424fc 257 void * btstack_memory_db_mem_device_link_key_get(void){
jksoft 0:fccb789424fc 258 return memory_pool_get(&db_mem_device_link_key_pool);
jksoft 0:fccb789424fc 259 }
jksoft 0:fccb789424fc 260 void btstack_memory_db_mem_device_link_key_free(void *db_mem_device_link_key){
jksoft 0:fccb789424fc 261 memory_pool_free(&db_mem_device_link_key_pool, db_mem_device_link_key);
jksoft 0:fccb789424fc 262 }
jksoft 0:fccb789424fc 263 #else
jksoft 0:fccb789424fc 264 void * btstack_memory_db_mem_device_link_key_get(void){
jksoft 0:fccb789424fc 265 return NULL;
jksoft 0:fccb789424fc 266 }
jksoft 0:fccb789424fc 267 void btstack_memory_db_mem_device_link_key_free(void *db_mem_device_link_key){
jksoft 0:fccb789424fc 268 };
jksoft 0:fccb789424fc 269 #endif
jksoft 0:fccb789424fc 270 #elif defined(HAVE_MALLOC)
jksoft 0:fccb789424fc 271 void * btstack_memory_db_mem_device_link_key_get(void){
jksoft 0:fccb789424fc 272 return malloc(sizeof(db_mem_device_link_key_t));
jksoft 0:fccb789424fc 273 }
jksoft 0:fccb789424fc 274 void btstack_memory_db_mem_device_link_key_free(void *db_mem_device_link_key){
jksoft 0:fccb789424fc 275 free(db_mem_device_link_key);
jksoft 0:fccb789424fc 276 }
jksoft 0:fccb789424fc 277 #endif
jksoft 0:fccb789424fc 278
jksoft 0:fccb789424fc 279
jksoft 0:fccb789424fc 280 // MARK: db_mem_service_t
jksoft 0:fccb789424fc 281 #ifdef MAX_NO_DB_MEM_SERVICES
jksoft 0:fccb789424fc 282 #if MAX_NO_DB_MEM_SERVICES > 0
jksoft 0:fccb789424fc 283 static db_mem_service_t db_mem_service_storage[MAX_NO_DB_MEM_SERVICES];
jksoft 0:fccb789424fc 284 static memory_pool_t db_mem_service_pool;
jksoft 0:fccb789424fc 285 void * btstack_memory_db_mem_service_get(void){
jksoft 0:fccb789424fc 286 return memory_pool_get(&db_mem_service_pool);
jksoft 0:fccb789424fc 287 }
jksoft 0:fccb789424fc 288 void btstack_memory_db_mem_service_free(void *db_mem_service){
jksoft 0:fccb789424fc 289 memory_pool_free(&db_mem_service_pool, db_mem_service);
jksoft 0:fccb789424fc 290 }
jksoft 0:fccb789424fc 291 #else
jksoft 0:fccb789424fc 292 void * btstack_memory_db_mem_service_get(void){
jksoft 0:fccb789424fc 293 return NULL;
jksoft 0:fccb789424fc 294 }
jksoft 0:fccb789424fc 295 void btstack_memory_db_mem_service_free(void *db_mem_service){
jksoft 0:fccb789424fc 296 };
jksoft 0:fccb789424fc 297 #endif
jksoft 0:fccb789424fc 298 #elif defined(HAVE_MALLOC)
jksoft 0:fccb789424fc 299 void * btstack_memory_db_mem_service_get(void){
jksoft 0:fccb789424fc 300 return malloc(sizeof(db_mem_service_t));
jksoft 0:fccb789424fc 301 }
jksoft 0:fccb789424fc 302 void btstack_memory_db_mem_service_free(void *db_mem_service){
jksoft 0:fccb789424fc 303 free(db_mem_service);
jksoft 0:fccb789424fc 304 }
jksoft 0:fccb789424fc 305 #endif
jksoft 0:fccb789424fc 306
jksoft 0:fccb789424fc 307 // init
jksoft 0:fccb789424fc 308 void btstack_memory_init(void){
jksoft 0:fccb789424fc 309 #if MAX_NO_HCI_CONNECTIONS > 0
jksoft 0:fccb789424fc 310 memory_pool_create(&hci_connection_pool, hci_connection_storage, MAX_NO_HCI_CONNECTIONS, sizeof(hci_connection_t));
jksoft 0:fccb789424fc 311 #endif
jksoft 0:fccb789424fc 312 #if MAX_NO_L2CAP_SERVICES > 0
jksoft 0:fccb789424fc 313 memory_pool_create(&l2cap_service_pool, l2cap_service_storage, MAX_NO_L2CAP_SERVICES, sizeof(l2cap_service_t));
jksoft 0:fccb789424fc 314 #endif
jksoft 0:fccb789424fc 315 #if MAX_NO_L2CAP_CHANNELS > 0
jksoft 0:fccb789424fc 316 memory_pool_create(&l2cap_channel_pool, l2cap_channel_storage, MAX_NO_L2CAP_CHANNELS, sizeof(l2cap_channel_t));
jksoft 0:fccb789424fc 317 #endif
jksoft 0:fccb789424fc 318 #if MAX_NO_RFCOMM_MULTIPLEXERS > 0
jksoft 0:fccb789424fc 319 memory_pool_create(&rfcomm_multiplexer_pool, rfcomm_multiplexer_storage, MAX_NO_RFCOMM_MULTIPLEXERS, sizeof(rfcomm_multiplexer_t));
jksoft 0:fccb789424fc 320 #endif
jksoft 0:fccb789424fc 321 #if MAX_NO_RFCOMM_SERVICES > 0
jksoft 0:fccb789424fc 322 memory_pool_create(&rfcomm_service_pool, rfcomm_service_storage, MAX_NO_RFCOMM_SERVICES, sizeof(rfcomm_service_t));
jksoft 0:fccb789424fc 323 #endif
jksoft 0:fccb789424fc 324 #if MAX_NO_RFCOMM_CHANNELS > 0
jksoft 0:fccb789424fc 325 memory_pool_create(&rfcomm_channel_pool, rfcomm_channel_storage, MAX_NO_RFCOMM_CHANNELS, sizeof(rfcomm_channel_t));
jksoft 0:fccb789424fc 326 #endif
jksoft 0:fccb789424fc 327 #if MAX_NO_DB_MEM_DEVICE_NAMES > 0
jksoft 0:fccb789424fc 328 memory_pool_create(&db_mem_device_name_pool, db_mem_device_name_storage, MAX_NO_DB_MEM_DEVICE_NAMES, sizeof(db_mem_device_name_t));
jksoft 0:fccb789424fc 329 #endif
jksoft 0:fccb789424fc 330 #if MAX_NO_DB_MEM_DEVICE_LINK_KEYS > 0
jksoft 0:fccb789424fc 331 memory_pool_create(&db_mem_device_link_key_pool, db_mem_device_link_key_storage, MAX_NO_DB_MEM_DEVICE_LINK_KEYS, sizeof(db_mem_device_link_key_t));
jksoft 0:fccb789424fc 332 #endif
jksoft 0:fccb789424fc 333 #if MAX_NO_DB_MEM_SERVICES > 0
jksoft 0:fccb789424fc 334 memory_pool_create(&db_mem_service_pool, db_mem_service_storage, MAX_NO_DB_MEM_SERVICES, sizeof(db_mem_service_t));
jksoft 0:fccb789424fc 335 #endif
jksoft 0:fccb789424fc 336 }