From 14b92cde08359d4efec6e426b08c7ac7b9bee61d Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" <5425387+Ralim@users.noreply.github.com> Date: Sat, 8 Jun 2024 14:33:06 +1000 Subject: [PATCH] Pinecilv2 adc v2 (#1916) * Updated NTC lookup * remove float compute from adc (as we dont use it) * Updated adc settings * Updated ADC Init * Custom max temp lookup * Mask Timer around changing timer rate * Use timer channels in sane order * Update IRQ.cpp * Remove ADC dummy wait on start/stop * Dont use ADC IRQ * Disable sampling delay * Update Setup.cpp * PinecilV2 disable ROM driver utils Always use our source * Force settings upgrade on PinecilV2 Fix forced settings upgrade on Pinecilv2 * Prevent ADC rollover * Update Setup.cpp * ADC cleanup * Rollover prevention * Measure tip temperature 2nd * Rebase Buffalo SDK to 1.4.5 (#1923) * Update bl702_adc.c * Update board.c * . * Update bl702_adc.c * Import updated hal_drv * Remove accidental dupe of stack in linker * First pass update BLE stack * Update ReleaseNotes * Update push.yml * Drop BT Audio which we dont use * . * Reformat * Update conn.c * Update hog.c --- .github/workflows/push.yml | 4 - source/Core/BSP/BSP_Power.h | 4 + source/Core/BSP/Pinecilv2/BSP.cpp | 100 +- source/Core/BSP/Pinecilv2/FreeRTOSConfig.h | 6 +- source/Core/BSP/Pinecilv2/IRQ.cpp | 137 +- source/Core/BSP/Pinecilv2/IRQ.h | 1 - source/Core/BSP/Pinecilv2/Setup.cpp | 97 +- source/Core/BSP/Pinecilv2/bl_irq.c | 29 + source/Core/BSP/Pinecilv2/bl_irq.h | 19 + .../BSP/Pinecilv2/bl_mcu_sdk/ReleaseNotes | 28 + .../bsp/bsp_common/platform/cpp_new.cpp | 10 + .../bl_mcu_sdk/common/misc/compiler/common.h | 46 +- .../components/ble/bl702_rf/lib/libbl702_rf.a | Bin 224290 -> 302402 bytes .../ble_stack/bl_hci_wrapper/bl_hci_wrapper.c | 18 +- .../ble_stack/bl_hci_wrapper/bl_hci_wrapper.h | 23 +- .../ble/ble_stack/common/atomic_c.c | 4 +- .../components/ble/ble_stack/common/buf.c | 90 +- .../ble/ble_stack/common/include/net/buf.h | 19 +- .../ble_stack/common/include/zephyr/types.h | 4 +- .../components/ble/ble_stack/common/log.c | 2 +- .../components/ble/ble_stack/common/log.h | 51 +- .../components/ble/ble_stack/common/poll.c | 44 +- .../components/ble/ble_stack/common/rpa.c | 3 +- .../components/ble/ble_stack/common/rpa.h | 2 +- .../ble_stack/common/tinycrypt/source/ecc.c | 8 +- .../tinycrypt/source/ecc_platform_specific.c | 3 +- .../common/tinycrypt/source/hmac_prng.c | 12 +- .../components/ble/ble_stack/common/work_q.c | 18 +- .../ble/ble_stack/hci_onchip/hci_driver.c | 50 +- .../components/ble/ble_stack/host/a2dp.c | 280 ---- .../ble/ble_stack/host/a2dp_internal.h | 12 - .../components/ble/ble_stack/host/att.c | 43 +- .../ble/ble_stack/host/att_internal.h | 2 +- .../ble/ble_stack/host/avdtp_internal.h | 5 - .../components/ble/ble_stack/host/conn.c | 87 +- .../ble/ble_stack/host/conn_internal.h | 283 ++-- .../components/ble/ble_stack/host/ecc.h | 20 +- .../components/ble/ble_stack/host/gatt.c | 124 +- .../components/ble/ble_stack/host/hci_core.c | 568 ++++++-- .../components/ble/ble_stack/host/hci_core.h | 24 +- .../components/ble/ble_stack/host/l2cap.c | 3 +- .../components/ble/ble_stack/host/monitor.c | 3 +- .../components/ble/ble_stack/host/multi_adv.c | 45 +- .../components/ble/ble_stack/host/settings.c | 75 +- .../ble/ble_stack/include/bluetooth/addr.h | 6 - .../ble/ble_stack/include/bluetooth/att.h | 20 +- .../ble/ble_stack/include/bluetooth/avdtp.h | 2 - .../ble_stack/include/bluetooth/bluetooth.h | 2 +- .../ble/ble_stack/include/bluetooth/conn.h | 13 +- .../ble/ble_stack/include/bluetooth/gatt.h | 24 +- .../ble_stack/include/bluetooth/hci_host.h | 25 + .../ble/ble_stack/include/bluetooth/iso.h | 221 ++-- .../ble/ble_stack/include/bluetooth/l2cap.h | 351 ++--- .../ble/ble_stack/include/bluetooth/uuid.h | 6 +- .../include/drivers/bluetooth/hci_driver.h | 4 - .../components/ble/ble_stack/port/bl_port.c | 37 +- .../ble/ble_stack/port/include/bl_port.h | 5 +- .../ble/ble_stack/port/include/ble_config.h | 112 +- .../ble/ble_stack/port/include/zephyr.h | 5 +- .../components/ble/ble_stack/sbc/dec/alloc.c | 77 -- .../ble/ble_stack/sbc/dec/bitalloc-sbc.c | 149 --- .../ble/ble_stack/sbc/dec/bitalloc.c | 370 ------ .../ble/ble_stack/sbc/dec/bitstream-decode.c | 89 -- .../ble/ble_stack/sbc/dec/decoder-oina.c | 116 -- .../ble/ble_stack/sbc/dec/decoder-private.c | 243 ---- .../ble/ble_stack/sbc/dec/decoder-sbc.c | 433 ------ .../ble/ble_stack/sbc/dec/dequant.c | 207 --- .../ble/ble_stack/sbc/dec/framing-sbc.c | 57 - .../ble/ble_stack/sbc/dec/framing.c | 242 ---- .../ble/ble_stack/sbc/dec/oi_assert.h | 84 -- .../ble/ble_stack/sbc/dec/oi_bitstream.h | 121 -- .../ble/ble_stack/sbc/dec/oi_bt_spec.h | 225 ---- .../ble/ble_stack/sbc/dec/oi_codec_sbc.h | 478 ------- .../ble_stack/sbc/dec/oi_codec_sbc_private.h | 234 ---- .../ble/ble_stack/sbc/dec/oi_codec_version.c | 57 - .../ble/ble_stack/sbc/dec/oi_common.h | 42 - .../ble/ble_stack/sbc/dec/oi_cpu_dep.h | 498 ------- .../ble/ble_stack/sbc/dec/oi_modules.h | 166 --- .../ble/ble_stack/sbc/dec/oi_osinterface.h | 196 --- .../ble/ble_stack/sbc/dec/oi_status.h | 572 -------- .../ble/ble_stack/sbc/dec/oi_stddefs.h | 252 ---- .../ble/ble_stack/sbc/dec/oi_string.h | 200 --- .../ble/ble_stack/sbc/dec/oi_time.h | 188 --- .../ble/ble_stack/sbc/dec/oi_utils.h | 362 ------ .../ble_stack/sbc/dec/readsamplesjoint.inc | 111 -- .../ble_stack/sbc/dec/synthesis-8-generated.c | 160 --- .../ble/ble_stack/sbc/dec/synthesis-dct8.c | 346 ----- .../ble/ble_stack/sbc/dec/synthesis-sbc.c | 515 -------- .../ble/ble_stack/sbc/enc/sbc_analysis.c | 1155 ----------------- .../ble/ble_stack/sbc/enc/sbc_dct.c | 239 ---- .../ble/ble_stack/sbc/enc/sbc_dct.h | 87 -- .../ble/ble_stack/sbc/enc/sbc_dct_coeffs.c | 67 - .../sbc/enc/sbc_enc_bit_alloc_mono.c | 183 --- .../ble_stack/sbc/enc/sbc_enc_bit_alloc_ste.c | 190 --- .../ble/ble_stack/sbc/enc/sbc_enc_coeffs.c | 150 --- .../ble_stack/sbc/enc/sbc_enc_func_declare.h | 58 - .../ble/ble_stack/sbc/enc/sbc_encoder.c | 312 ----- .../ble/ble_stack/sbc/enc/sbc_encoder.h | 207 --- .../ble/ble_stack/sbc/enc/sbc_packing.c | 257 ---- .../ble/ble_stack/sbc/enc/sbc_types.h | 57 - .../components/ble/ble_stack/services/hog.c | 14 +- .../components/ble/ble_stack/services/hog.h | 3 - .../ble/blecontroller/ble_inc/ble_lib_api.h | 4 + .../ble/blecontroller/lib/README.md | 10 + .../lib/libblecontroller_702_std.a | Bin 0 -> 4829278 bytes .../drivers/bl702_driver/bl702_flash.ld | 22 +- .../bl702_driver/hal_drv/inc/hal_dma.h | 12 +- .../bl702_driver/hal_drv/src/hal_clock.c | 12 +- .../bl702_driver/hal_drv/src/hal_dma.c | 78 +- .../bl702_driver/hal_drv/src/hal_usb.c | 12 +- .../bl702_driver/startup/system_bl702.c | 5 +- .../bl702_driver/std_drv/inc/bl702_adc.h | 45 +- .../bl702_driver/std_drv/src/bl702_adc.c | 89 +- source/Core/BSP/Pinecilv2/ble.c | 9 + source/Core/BSP/Pinecilv2/board.c | 2 +- source/Core/BSP/Pinecilv2/configuration.h | 11 +- source/Core/BSP/Pinecilv2/peripheral_config.h | 16 +- source/Core/Drivers/TipThermoModel.cpp | 4 + source/Core/Inc/Settings.h | 8 +- source/Core/Src/Settings.cpp | 4 +- source/Makefile | 10 +- 121 files changed, 1989 insertions(+), 11372 deletions(-) create mode 100644 source/Core/BSP/Pinecilv2/bl_irq.c create mode 100644 source/Core/BSP/Pinecilv2/bl_irq.h create mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/bsp/bsp_common/platform/cpp_new.cpp delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/a2dp.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/a2dp_internal.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/alloc.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitalloc-sbc.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitalloc.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitstream-decode.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-oina.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-private.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-sbc.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/dequant.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/framing-sbc.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/framing.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_assert.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_bitstream.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_bt_spec.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_sbc.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_sbc_private.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_version.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_common.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_cpu_dep.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_modules.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_osinterface.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_status.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_stddefs.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_string.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_time.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_utils.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/readsamplesjoint.inc delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-8-generated.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-dct8.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-sbc.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_analysis.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct_coeffs.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_bit_alloc_mono.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_bit_alloc_ste.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_coeffs.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_func_declare.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_encoder.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_encoder.h delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_packing.c delete mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_types.h create mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/lib/README.md create mode 100644 source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/lib/libblecontroller_702_std.a diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 663795e8..6086382f 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -2,10 +2,6 @@ name: CI on: push: - branches: - - master - - dev - - main pull_request: branches: - master diff --git a/source/Core/BSP/BSP_Power.h b/source/Core/BSP/BSP_Power.h index 348dc7a7..d37106f1 100644 --- a/source/Core/BSP/BSP_Power.h +++ b/source/Core/BSP/BSP_Power.h @@ -8,6 +8,8 @@ #ifndef BSP_POWER_H_ #define BSP_POWER_H_ +#include "Types.h" + #ifdef __cplusplus extern "C" { #endif @@ -22,6 +24,8 @@ uint8_t getTipResistanceX10(); uint16_t getTipThermalMass(); uint16_t getTipInertia(); +TemperatureType_t getCustomTipMaxInC(); + #ifdef __cplusplus } #endif diff --git a/source/Core/BSP/Pinecilv2/BSP.cpp b/source/Core/BSP/Pinecilv2/BSP.cpp index 59314453..e019407e 100644 --- a/source/Core/BSP/Pinecilv2/BSP.cpp +++ b/source/Core/BSP/Pinecilv2/BSP.cpp @@ -9,12 +9,15 @@ #include "TipThermoModel.h" #include "USBPD.h" #include "Utils.h" +#include "bl702_adc.h" #include "configuration.h" #include "crc32.h" #include "hal_flash.h" #include "history.hpp" #include "main.hpp" +extern ADC_Gain_Coeff_Type adcGainCoeffCal; + // These control the period's of time used for the PWM const uint16_t powerPWM = 255; uint8_t holdoffTicks = 25; // This is the tick delay before temp measure starts (i.e. time for op-amp recovery) @@ -31,52 +34,44 @@ void resetWatchdog() { // Stored as ADCReading,Temp in degC static const int32_t NTCHandleLookup[] = { // ADC Reading , Temp in C x10 - - 3221, -400, // - 4144, -350, // - 5271, -300, // - 6622, -250, // - 8219, -200, // - 10075, -150, // - 12190, -100, // - 14554, -50, // - 17151, 0, // - 19937, 50, // - 22867, 100, // - 25886, 150, // - 28944, 200, // - 29546, 210, // - 30159, 220, // - 30769, 230, // - 31373, 240, // - 31969, 250, // - 32566, 260, // - 33159, 270, // - 33749, 280, // - 34334, 290, // - 34916, 300, // - 35491, 310, // - 36062, 320, // - 36628, 330, // - 37186, 340, // - 37739, 350, // - 38286, 360, // - 38825, 370, // - 39358, 380, // - 39884, 390, // - 40400, 400, // - 42879, 450, // - 45160, 500, // - 47235, 550, // - 49111, 600, // - 50792, 650, // - 52292, 700, // - 53621, 750, // - 54797, 800, // - 55836, 850, // - 56748, 900, // - 57550, 950, // - 58257, 1000, // + // Based on NTCG163JF103FTDS thermocouple datasheet values, + // arranged in a voltage divider configuration, with the NTC + // pulling up towards 3.3V, and with a 10k 1% pull-down resistor. + // ADC Reading = 3.3V * 10 / (10 + TypkOhm) / 3.2V * (2 ^ 16) + 3405, -400, // + 4380, -350, // + 5572, -300, // + 6999, -250, // + 8688, -200, // + 10650, -150, // + 12885, -100, // + 15384, -50, // + 18129, 0, // + 21074, 50, // + 24172, 100, // + 27362, 150, // + 30595, 200, // + 33792, 250, // + 36907, 300, // + 39891, 350, // + 42704, 400, // + 45325, 450, // + 47736, 500, // + 49929, 550, // + 51912, 600, // + 53689, 650, // + 55274, 700, // + 56679, 750, // + 57923, 800, // + 59020, 850, // + 59984, 900, // + 60832, 950, // + 61580, 1000, // + 62232, 1050, // + 62810, 1100, // + 63316, 1150, // + 63765, 1200, // + 64158, 1250, // }; #endif @@ -282,3 +277,16 @@ void showBootLogo(void) { BootLogo::handleShowingLogo(scratch); } + +TemperatureType_t getCustomTipMaxInC() { + // have to lookup the max temp while being aware of the coe scaling value + float max_reading = ADC_MAX_READING - 1.0; + + if (adcGainCoeffCal.adcGainCoeffEnable) { + max_reading /= adcGainCoeffCal.coe; + } + + TemperatureType_t maximumTipTemp = TipThermoModel::convertTipRawADCToDegC(max_reading); + maximumTipTemp += getHandleTemperature(0) / 10; // Add handle offset + return maximumTipTemp - 1; +} \ No newline at end of file diff --git a/source/Core/BSP/Pinecilv2/FreeRTOSConfig.h b/source/Core/BSP/Pinecilv2/FreeRTOSConfig.h index 718036a6..f0005d77 100644 --- a/source/Core/BSP/Pinecilv2/FreeRTOSConfig.h +++ b/source/Core/BSP/Pinecilv2/FreeRTOSConfig.h @@ -52,8 +52,8 @@ extern "C" { header file. */ void vAssertCalled(void); -#define configASSERT(x) \ - if ((x) == 0) \ +#define configASSERT(x) \ + if ((x) == 0) \ vAssertCalled() #ifdef __cplusplus @@ -75,7 +75,7 @@ void vApplicationSleep(uint32_t xExpectedIdleTime); #define INCLUDE_xTaskGetCurrentTaskHandle 1 #define INCLUDE_uxTaskGetStackHighWaterMark 1 #define INCLUDE_xTaskGetIdleTaskHandle 1 -#define INCLUDE_eTaskGetState 0 +#define INCLUDE_eTaskGetState 1 #define INCLUDE_xEventGroupSetBitFromISR 1 #define INCLUDE_xTimerPendFunctionCall 0 #define INCLUDE_xTaskAbortDelay 0 diff --git a/source/Core/BSP/Pinecilv2/IRQ.cpp b/source/Core/BSP/Pinecilv2/IRQ.cpp index 7a857b18..1fbb4e1c 100644 --- a/source/Core/BSP/Pinecilv2/IRQ.cpp +++ b/source/Core/BSP/Pinecilv2/IRQ.cpp @@ -24,40 +24,48 @@ history ADC_Vin; history ADC_Temp; history ADC_Tip; -// IRQ is called at the end of the 8 set readings, pop these from the FIFO and send to filters -void adc_fifo_irq(void) { - if (ADC_GetIntStatus(ADC_INT_FIFO_READY) == SET) { - // Read out all entries in the fifo - while (ADC_Get_FIFO_Count()) { - uint32_t reading = ADC_Read_FIFO(); - // As per manual, 26 bit reading; lowest 16 are the ADC - uint16_t sample = reading & 0xFFFF; - uint8_t source = (reading >> 21) & 0b11111; - switch (source) { +void read_adc_fifo(void) { + // Read out all entries in the fifo + uint8_t pending_readings = ADC_Get_FIFO_Count(); + + // There _should_ always be 8 readings here. If there are not, it means that the adc didnt start when we wanted and timing slipped + // So if there isn't 8 readings, we throw them out + if (pending_readings != 8) { + MSG((char *)"Discarding out of sync adc %d\r\n", pending_readings); + } else { + while (pending_readings) { + pending_readings--; + uint32_t raw_reading = ADC_Read_FIFO(); + ADC_Result_Type parsed = {0, 0, 0}; + ADC_Parse_Result(&raw_reading, 1, &parsed); + // Rollover prevention + if (parsed.value > ((1 << 14) - 1)) { + parsed.value = ((1 << 14) - 1); + } + + switch (parsed.posChan) { case TMP36_ADC_CHANNEL: - ADC_Temp.update(sample); - break; - case TIP_TEMP_ADC_CHANNEL: - ADC_Tip.update(sample); + ADC_Temp.update(parsed.value << 2); break; + case TIP_TEMP_ADC_CHANNEL: { + ADC_Tip.update(parsed.value << 2); + } break; case VIN_ADC_CHANNEL: - ADC_Vin.update(sample); + ADC_Vin.update(parsed.value << 2); break; default: break; } } - // unblock the PID controller thread - if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) { - BaseType_t xHigherPriorityTaskWoken = pdFALSE; - if (pidTaskNotification) { - vTaskNotifyGiveFromISR(pidTaskNotification, &xHigherPriorityTaskWoken); - portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - } + } + // unblock the PID controller thread + if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) { + BaseType_t xHigherPriorityTaskWoken = pdFALSE; + if (pidTaskNotification) { + vTaskNotifyGiveFromISR(pidTaskNotification, &xHigherPriorityTaskWoken); + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); } } - // Clear IRQ - ADC_IntClr(ADC_INT_ALL); } volatile bool inFastPWMMode = false; @@ -69,7 +77,24 @@ volatile uint16_t PWMSafetyTimer = 0; volatile uint8_t pendingPWM = 0; volatile bool pendingNextPeriodIsFast = false; -void start_PWM_output(void) { +void timer0_comp0_callback(void) { + // Trigged at end of output cycle; turn off the tip PWM + PWM_Channel_Disable(PWM_Channel); + TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_0); +} + +// Timer 0 is used to co-ordinate the ADC and the output PWM +void timer0_comp1_callback(void) { + ADC_FIFO_Clear(); + ADC_Start(); + TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_1); +} +void timer0_comp2_callback(void) { + // Triggered at end of timer cycle; re-start the tip driver + ADC_Stop(); + TIMER_Disable(TIMER_CH0); + // Read the ADC data _now_. So that if things have gone out of sync, we know about it + read_adc_fifo(); if (PWMSafetyTimer) { PWMSafetyTimer--; @@ -82,64 +107,28 @@ void start_PWM_output(void) { } // Update trigger for the end point of the PWM cycle if (pendingPWM > 0) { - TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, pendingPWM - 1); + TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_0, pendingPWM - 1); // Turn on output PWM_Channel_Enable(PWM_Channel); } else { - // Leave output off PWM_Channel_Disable(PWM_Channel); } } else { PWM_Channel_Disable(PWM_Channel); - switchToFastPWM(); } -} - -// Timer 0 is used to co-ordinate the ADC and the output PWM -void timer0_comp0_callback(void) { - if (PWM_Channel_Is_Enabled(PWM_Channel)) { - // So there appears to be a bug _somewhere_ where sometimes the comparator doesn't fire - // Its not re-occurring with specific values, so suspect its a weird bug - // For now, we just skip the cycle and throw away the ADC readings. Its a waste but - // It stops stupid glitches in readings, i'd take slight instability from the time jump - // Over the readings we get that are borked as the header is left on - // - PWM_Channel_Disable(PWM_Channel); - // MSG("ALERT PWM Glitch\r\n"); - // Triger the PID now instead - if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) { - BaseType_t xHigherPriorityTaskWoken = pdFALSE; - if (pidTaskNotification) { - vTaskNotifyGiveFromISR(pidTaskNotification, &xHigherPriorityTaskWoken); - portYIELD_FROM_ISR(xHigherPriorityTaskWoken); - } - } - } else { - ADC_Start(); - } - TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_0); -} -void timer0_comp1_callback(void) { - // Trigged at end of output cycle; turn off the tip PWM - PWM_Channel_Disable(PWM_Channel); - TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_1); -} - -void timer0_comp2_callback(void) { - // Triggered at end of timer cycle; re-start the tip driver - start_PWM_output(); + TIMER_Enable(TIMER_CH0); TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_2); } + void switchToFastPWM(void) { inFastPWMMode = true; - holdoffTicks = 10; + holdoffTicks = 20; tempMeasureTicks = 10; totalPWM = powerPWM + tempMeasureTicks + holdoffTicks; + + TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, powerPWM + holdoffTicks); + TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_2, totalPWM); - - // ~10Hz - TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_0, powerPWM + holdoffTicks); - // Set divider to 10 ~= 10.5Hz uint32_t tmpVal = BL_RD_REG(TIMER_BASE, TIMER_TCDR); @@ -151,14 +140,14 @@ void switchToFastPWM(void) { void switchToSlowPWM(void) { // 5Hz inFastPWMMode = false; - holdoffTicks = 5; + holdoffTicks = 10; tempMeasureTicks = 5; totalPWM = powerPWM + tempMeasureTicks + holdoffTicks; - TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_2, totalPWM); // Adjust ADC - TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_0, powerPWM + holdoffTicks); + TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, powerPWM + holdoffTicks); + TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_2, totalPWM); // Set divider for ~ 5Hz uint32_t tmpVal = BL_RD_REG(TIMER_BASE, TIMER_TCDR); @@ -167,9 +156,11 @@ void switchToSlowPWM(void) { BL_WR_REG(TIMER_BASE, TIMER_TCDR, tmpVal); } + void setTipPWM(const uint8_t pulse, const bool shouldUseFastModePWM) { - PWMSafetyTimer = 10; // This is decremented in the handler for PWM so that the tip pwm is - // disabled if the PID task is not scheduled often enough. + PWMSafetyTimer = 10; + // This is decremented in the handler for PWM so that the tip pwm is + // disabled if the PID task is not scheduled often enough. pendingPWM = pulse; pendingNextPeriodIsFast = shouldUseFastModePWM; } diff --git a/source/Core/BSP/Pinecilv2/IRQ.h b/source/Core/BSP/Pinecilv2/IRQ.h index 4f6d6814..bc7dca72 100644 --- a/source/Core/BSP/Pinecilv2/IRQ.h +++ b/source/Core/BSP/Pinecilv2/IRQ.h @@ -19,7 +19,6 @@ extern "C" { void timer0_comp0_callback(void); void timer0_comp1_callback(void); void timer0_comp2_callback(void); -void adc_fifo_irq(void); void GPIO_IRQHandler(void); #ifdef __cplusplus } diff --git a/source/Core/BSP/Pinecilv2/Setup.cpp b/source/Core/BSP/Pinecilv2/Setup.cpp index 7e8ea542..f70068de 100644 --- a/source/Core/BSP/Pinecilv2/Setup.cpp +++ b/source/Core/BSP/Pinecilv2/Setup.cpp @@ -50,9 +50,10 @@ void hardware_init() { gpio_set_mode(OLED_RESET_Pin, GPIO_OUTPUT_MODE); gpio_set_mode(KEY_A_Pin, GPIO_INPUT_PD_MODE); gpio_set_mode(KEY_B_Pin, GPIO_INPUT_PD_MODE); - gpio_set_mode(TMP36_INPUT_Pin, GPIO_INPUT_MODE); - gpio_set_mode(TIP_TEMP_Pin, GPIO_INPUT_MODE); - gpio_set_mode(VIN_Pin, GPIO_INPUT_MODE); + + gpio_set_mode(TMP36_INPUT_Pin, GPIO_HZ_MODE); + gpio_set_mode(TIP_TEMP_Pin, GPIO_HZ_MODE); + gpio_set_mode(VIN_Pin, GPIO_HZ_MODE); gpio_set_mode(TIP_RESISTANCE_SENSE, GPIO_OUTPUT_MODE); gpio_write(TIP_RESISTANCE_SENSE, 0); @@ -66,7 +67,7 @@ void hardware_init() { // Note on I2C clock rate @ 100Khz the screen update == 20ms which is too long for USB-PD to work // 200kHz and above works I2C_ClockSet(I2C0_ID, 300000); // Sets clock to around 25 kHz less than set here - TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, 0); + TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_0, 0); } void setup_pwm(void) { // Setup PWM we use for driving the tip @@ -77,7 +78,7 @@ void setup_pwm(void) { PWM_POL_NORMAL, // Normal Polarity 60, // Clock Div 100, // Period - 0, // Thres 1 - start at beginng + 0, // Thres 1 - start at beginning 50, // Thres 2 - turn off at 50% 0, // Interrupt pulse count }; @@ -86,8 +87,8 @@ void setup_pwm(void) { PWM_Channel_Disable(PWM_Channel); } -const ADC_Chan_Type adc_tip_pos_chans[] = {TIP_TEMP_ADC_CHANNEL, TMP36_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, VIN_ADC_CHANNEL, - TIP_TEMP_ADC_CHANNEL, TMP36_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, VIN_ADC_CHANNEL}; +const ADC_Chan_Type adc_tip_pos_chans[] = {TMP36_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, VIN_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, + TMP36_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, VIN_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL}; const ADC_Chan_Type adc_tip_neg_chans[] = {ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND}; static_assert(sizeof(adc_tip_pos_chans) == sizeof(adc_tip_neg_chans)); @@ -96,21 +97,55 @@ void setup_adc(void) { ADC_CFG_Type adc_cfg = {}; ADC_FIFO_Cfg_Type adc_fifo_cfg = {}; - CPU_Interrupt_Disable(GPADC_DMA_IRQn); + // Please also see PR #1529 for even more context - ADC_IntMask(ADC_INT_ALL, MASK); + /* + A note on ADC settings + + The bl70x ADC seems to be very sensitive to various analog settings. + It has been a challenge to determine what is the most correct way to + configure it in order to get accurate readings that can be transformed + into millivolts, for accurate measurements. + + This latest set of ADC parameters, matches the latest configuration from + the upstream bl_mcu_sdk repository from commit hash: + 9e189b69cbc0a75ffa170f600a28820848d56432 + except for one difference. + (Note: bl_mcu_sdk has been heavily refactored since it has been imported into IronOS.) + + You can make it match exactly by defining ENABLE_MIC2_DIFF, see the code + #ifdef ENABLE_MIC2_DIFF below. + I have decided to not apply this change because it appeared to make the + lower end of the input less precise. + + Note that this configuration uses an ADC trimming value that is stored in the Efuse + of the bl70x chip. The actual reading is divided by this "coe" value. + We have found the following coe values on 3 different chips: + 0.9629, 0.9438, 0.9876 + + Additional note for posterity: + PGA = programmable gain amplifier. + We would have expected to achieve the highest accuracy by disabling this amplifier, + however we found that not to be the case, and in almost all cases we have found + that there is a scaling error compared to the ideal Vref. + The only other configuration we have found to be accurate was if we had: + PGA disabled + Vref=2V + biasSel=AON + without trimming from the efuse. + But we can't use it because a Vref=2V limits the higher end of temperature and voltage readings. + Also we don't know if this other configuration is really accurate on all chips, or only + happened to be accurate on the one chip on which it has been found. + */ adc_cfg.clkDiv = ADC_CLK_DIV_4; adc_cfg.vref = ADC_VREF_3P2V; adc_cfg.resWidth = ADC_DATA_WIDTH_14_WITH_16_AVERAGE; adc_cfg.inputMode = ADC_INPUT_SINGLE_END; - adc_cfg.v18Sel = ADC_V18_SEL_1P72V; + adc_cfg.v18Sel = ADC_V18_SEL_1P82V; adc_cfg.v11Sel = ADC_V11_SEL_1P1V; - adc_cfg.gain1 = ADC_PGA_GAIN_NONE; - adc_cfg.gain2 = ADC_PGA_GAIN_NONE; - adc_cfg.chopMode = ADC_CHOP_MOD_AZ_ON; + adc_cfg.gain1 = ADC_PGA_GAIN_1; + adc_cfg.gain2 = ADC_PGA_GAIN_1; + adc_cfg.chopMode = ADC_CHOP_MOD_AZ_PGA_ON; adc_cfg.biasSel = ADC_BIAS_SEL_MAIN_BANDGAP; - adc_cfg.vcm = ADC_PGA_VCM_1P6V; + adc_cfg.vcm = ADC_PGA_VCM_1P2V; adc_cfg.offsetCalibEn = DISABLE; adc_cfg.offsetCalibVal = 0; @@ -119,16 +154,32 @@ void setup_adc(void) { ADC_Reset(); ADC_Init(&adc_cfg); +#ifdef ENABLE_MIC2_DIFF + // This is the change that enables MIC2_DIFF, for now deciding not to enable it, since it seems to make results slightly worse + { + uint32_t tmpVal; + tmpVal = BL_RD_REG(AON_BASE, AON_GPADC_REG_CMD); + tmpVal = BL_SET_REG_BITS_VAL(tmpVal, AON_GPADC_MIC2_DIFF, 1); + BL_WR_REG(AON_BASE, AON_GPADC_REG_CMD, tmpVal); + } +#endif + +#if 1 + // this sets the CVSP field (ADC conversion speed) + { + uint32_t regCfg2; + regCfg2 = BL_RD_REG(AON_BASE, AON_GPADC_REG_CONFIG2); + regCfg2 = BL_SET_REG_BITS_VAL(regCfg2, AON_GPADC_DLY_SEL, 0x02); + BL_WR_REG(AON_BASE, AON_GPADC_REG_CONFIG2, regCfg2); + } +#endif + adc_fifo_cfg.dmaEn = DISABLE; - adc_fifo_cfg.fifoThreshold = ADC_FIFO_THRESHOLD_8; // Triger FIFO when all 8 measurements are done + adc_fifo_cfg.fifoThreshold = ADC_FIFO_THRESHOLD_1; ADC_FIFO_Cfg(&adc_fifo_cfg); ADC_MIC_Bias_Disable(); ADC_Tsen_Disable(); - - // Enable FiFo IRQ - Interrupt_Handler_Register(GPADC_DMA_IRQn, adc_fifo_irq); - ADC_IntMask(ADC_INT_FIFO_READY, UNMASK); - CPU_Interrupt_Enable(GPADC_DMA_IRQn); + ADC_Gain_Trim(); ADC_Stop(); ADC_FIFO_Clear(); ADC_Scan_Channel_Config(adc_tip_pos_chans, adc_tip_neg_chans, sizeof(adc_tip_pos_chans) / sizeof(ADC_Chan_Type), DISABLE); @@ -143,10 +194,10 @@ void setup_timer_scheduler() { TIMER_PRELOAD_TRIG_COMP2, // Trigger; reset after trigger 0 TIMER_COUNT_PRELOAD, // Counter mode 22, // Clock div - (uint16_t)(powerPWM + holdoffTicks), // CH0 compare (adc) - (uint16_t)(powerPWM), // CH1 compare (pwm out) + (uint16_t)(powerPWM), // CH0 compare (pwm out) + (uint16_t)(powerPWM + holdoffTicks), // CH1 compare (adc) (uint16_t)(powerPWM + holdoffTicks + tempMeasureTicks), // CH2 compare end of cycle - 0, // Preload + 0, // Preload, copied to counter on trigger of comp2 }; TIMER_Init(&cfg); diff --git a/source/Core/BSP/Pinecilv2/bl_irq.c b/source/Core/BSP/Pinecilv2/bl_irq.c new file mode 100644 index 00000000..b8cda6f9 --- /dev/null +++ b/source/Core/BSP/Pinecilv2/bl_irq.c @@ -0,0 +1,29 @@ +#include "bl_irq.h" + +extern pFunc __Interrupt_Handlers[IRQn_LAST]; + +void bl_irq_enable(unsigned int source) { *(volatile uint8_t *)(CLIC_HART0_ADDR + CLIC_INTIE + source) = 1; } + +void bl_irq_disable(unsigned int source) { *(volatile uint8_t *)(CLIC_HART0_ADDR + CLIC_INTIE + source) = 0; } + +void bl_irq_pending_set(unsigned int source) { *(volatile uint8_t *)(CLIC_HART0_ADDR + CLIC_INTIP + source) = 1; } + +void bl_irq_pending_clear(unsigned int source) { *(volatile uint8_t *)(CLIC_HART0_ADDR + CLIC_INTIP + source) = 0; } + +void bl_irq_register(int irqnum, void *handler) { + if (irqnum < IRQn_LAST) { + __Interrupt_Handlers[irqnum] = handler; + } +} + +void bl_irq_unregister(int irqnum, void *handler) { + if (irqnum < IRQn_LAST) { + __Interrupt_Handlers[irqnum] = NULL; + } +} + +void bl_irq_handler_get(int irqnum, void **handler) { + if (irqnum < IRQn_LAST) { + *handler = __Interrupt_Handlers[irqnum]; + } +} diff --git a/source/Core/BSP/Pinecilv2/bl_irq.h b/source/Core/BSP/Pinecilv2/bl_irq.h new file mode 100644 index 00000000..5b79e255 --- /dev/null +++ b/source/Core/BSP/Pinecilv2/bl_irq.h @@ -0,0 +1,19 @@ +#ifndef __BL_IRQ_H__ +#define __BL_IRQ_H__ + + +#include "bl702_glb.h" +#include "risc-v/Core/Include/clic.h" +#include "risc-v/Core/Include/riscv_encoding.h" + + +void bl_irq_enable(unsigned int source); +void bl_irq_disable(unsigned int source); +void bl_irq_pending_set(unsigned int source); +void bl_irq_pending_clear(unsigned int source); +void bl_irq_register(int irqnum, void *handler); +void bl_irq_unregister(int irqnum, void *handler); +void bl_irq_handler_get(int irqnum, void **handler); + + +#endif diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/ReleaseNotes b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/ReleaseNotes index e55bbfb8..9b4041e7 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/ReleaseNotes +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/ReleaseNotes @@ -3,6 +3,34 @@ bl mcu sdk Release Notes 此文件包含 bl mcu sdk 软件开发包的发行说明。 每个版本的文字说明与发布时的说明保持一致(可能会有错别字的勘误)。 +bl mcu sdk Release V1.4.4 +---------------------------- + +新增功能说明: + 1. 增加 adc dma, uart dma p2p, at client, tensorflow vww demo + 2. boot2 更新 + 3. 删除 timer basic 和 dac_from_flash demo + 4. 更新 bflb flash tool 到 1.7.1 + 5. ble lib 更新,使用 t-head 10.2 工具链构建(小于此工具链版本编译将报错) + +修复问题说明: + 1. 修正 dma 相关命令宏,重命名 DMA_BURST_xBYTE 防止误导 + 2. 修正 readme 中相关编译命令 + +bl mcu sdk Release V1.4.3 +---------------------------- + +新增功能说明: + 1. 增加 pikascript 和 mac154 组件 + 2. 增加 ble pds 的 demo + 3. doc 缓存文件移出 + 4. 增加 cklink 和 jlink 在 eclipse 中的调试 + +修复问题说明: + 1. driver 更新 + 2. Os to O2 + 3. uart sig 选定功能后,对与其他 sig 使用相同功能进行调整 + bl mcu sdk Release V1.4.2 ---------------------------- diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/bsp/bsp_common/platform/cpp_new.cpp b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/bsp/bsp_common/platform/cpp_new.cpp new file mode 100644 index 00000000..ba2f1e08 --- /dev/null +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/bsp/bsp_common/platform/cpp_new.cpp @@ -0,0 +1,10 @@ +#include +#include + +void *operator new(size_t size) { return malloc(size); } + +void *operator new[](size_t size) { return malloc(size); } + +void operator delete(void *ptr) { free(ptr); } + +void operator delete[](void *ptr) { free(ptr); } \ No newline at end of file diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/common/misc/compiler/common.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/common/misc/compiler/common.h index c72036f9..7bed6f27 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/common/misc/compiler/common.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/common/misc/compiler/common.h @@ -12,12 +12,12 @@ #define BL_WR_BYTE(addr, val) ((*(volatile uint8_t *)(uintptr_t)(addr)) = (val)) #define BL_RDWD_FRM_BYTEP(p) ((p[3] << 24) | (p[2] << 16) | (p[1] << 8) | (p[0])) -#define BL_WRWD_TO_BYTEP(p, val) \ - { \ - p[0] = val & 0xff; \ - p[1] = (val >> 8) & 0xff; \ - p[2] = (val >> 16) & 0xff; \ - p[3] = (val >> 24) & 0xff; \ +#define BL_WRWD_TO_BYTEP(p, val) \ + { \ + p[0] = val & 0xff; \ + p[1] = (val >> 8) & 0xff; \ + p[2] = (val >> 16) & 0xff; \ + p[3] = (val >> 24) & 0xff; \ } /** * @brief Register access macro @@ -27,29 +27,29 @@ #define BL_RD_REG(addr, regname) BL_RD_WORD(addr + regname##_OFFSET) #define BL_WR_REG(addr, regname, val) BL_WR_WORD(addr + regname##_OFFSET, val) #define BL_SET_REG_BIT(val, bitname) ((val) | (1U << bitname##_POS)) -#define BL_CLR_REG_BIT(val, bitname) ((val)&bitname##_UMSK) -#define BL_GET_REG_BITS_VAL(val, bitname) (((val)&bitname##_MSK) >> bitname##_POS) -#define BL_SET_REG_BITS_VAL(val, bitname, bitval) (((val)&bitname##_UMSK) | ((uint32_t)(bitval) << bitname##_POS)) +#define BL_CLR_REG_BIT(val, bitname) ((val) & bitname##_UMSK) +#define BL_GET_REG_BITS_VAL(val, bitname) (((val) & bitname##_MSK) >> bitname##_POS) +#define BL_SET_REG_BITS_VAL(val, bitname, bitval) (((val) & bitname##_UMSK) | ((uint32_t)(bitval) << bitname##_POS)) #define BL_IS_REG_BIT_SET(val, bitname) (((val) & (1U << (bitname##_POS))) != 0) -#define BL_DRV_DUMMY \ - { \ - __ASM volatile("nop"); \ - __ASM volatile("nop"); \ - __ASM volatile("nop"); \ - __ASM volatile("nop"); \ +#define BL_DRV_DUMMY \ + { \ + __ASM volatile("nop"); \ + __ASM volatile("nop"); \ + __ASM volatile("nop"); \ + __ASM volatile("nop"); \ } /* Std driver attribute macro*/ #ifndef BFLB_USE_CUSTOM_LD_SECTIONS // #define ATTR_UNI_SYMBOL -#define ATTR_STRINGIFY(x) #x -#define ATTR_TOSTRING(x) ATTR_STRINGIFY(x) -#define ATTR_UNI_SYMBOL __FILE__ ATTR_TOSTRING(__LINE__) -#define ATTR_CLOCK_SECTION __attribute__((section(".sclock_rlt_code." ATTR_UNI_SYMBOL))) -#define ATTR_CLOCK_CONST_SECTION __attribute__((section(".sclock_rlt_const." ATTR_UNI_SYMBOL))) -#define ATTR_TCM_SECTION __attribute__((section(".tcm_code." ATTR_UNI_SYMBOL))) -#define ATTR_TCM_CONST_SECTION __attribute__((section(".tcm_const." ATTR_UNI_SYMBOL))) -// #define ATTR_DTCM_SECTION __attribute__((section(".tcm_data"))) +#define ATTR_STRINGIFY(x) #x +#define ATTR_TOSTRING(x) ATTR_STRINGIFY(x) +#define ATTR_UNI_SYMBOL __FILE__ ATTR_TOSTRING(__LINE__) +#define ATTR_CLOCK_SECTION __attribute__((section(".sclock_rlt_code." ATTR_UNI_SYMBOL))) +#define ATTR_CLOCK_CONST_SECTION __attribute__((section(".sclock_rlt_const." ATTR_UNI_SYMBOL))) +#define ATTR_TCM_SECTION __attribute__((section(".tcm_code." ATTR_UNI_SYMBOL))) +#define ATTR_TCM_CONST_SECTION __attribute__((section(".tcm_const." ATTR_UNI_SYMBOL))) +#define ATTR_DTCM_SECTION __attribute__((section(".tcm_data"))) #define ATTR_HSRAM_SECTION __attribute__((section(".hsram_code"))) #define ATTR_DMA_RAM_SECTION __attribute__((section(".system_ram"))) #define ATTR_NOCACHE_RAM_SECTION __attribute__((section(".nocache_ram"))) diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/bl702_rf/lib/libbl702_rf.a b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/bl702_rf/lib/libbl702_rf.a index eb99532e441735cb0cf334de8ce8ed7869bb97db..dc37ffcdb9d9a514f39cb6e4f72826c589fff7ce 100644 GIT binary patch literal 302402 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 literal 224290 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 diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/bl_hci_wrapper/bl_hci_wrapper.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/bl_hci_wrapper/bl_hci_wrapper.c index 5778665e..81a1c69a 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/bl_hci_wrapper/bl_hci_wrapper.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/bl_hci_wrapper/bl_hci_wrapper.c @@ -11,8 +11,8 @@ *****************************************************************************************/ #include "bl_hci_wrapper.h" -#include "../common/include/errno.h" #include "byteorder.h" +#include "errno.h" #include "hci_driver.h" #include "hci_host.h" #include "hci_onchip.h" @@ -184,12 +184,14 @@ void bl_packet_to_host(uint8_t pkt_type, uint16_t src_id, uint8_t *param, uint8_ memcpy(buf_data, param, param_len); break; } +#if defined(CONFIG_BT_CONN) case BT_HCI_ACL_DATA: { prio = false; bt_buf_set_type(buf, BT_BUF_ACL_IN); tlt_len = bt_onchiphci_hanlde_rx_acl(param, buf_data); break; } +#endif default: { net_buf_unref(buf); return; @@ -213,15 +215,18 @@ void bl_trigger_queued_msg() { unsigned int lock = irq_lock(); if (k_queue_is_empty(&msg_queue)) { + irq_unlock(lock); break; } if (bt_buf_get_rx_avail_cnt() <= CONFIG_BT_RX_BUF_RSV_COUNT) { + irq_unlock(lock); break; } buf = bt_buf_get_rx(BT_BUF_ACL_IN, K_NO_WAIT); if (!buf) { + irq_unlock(lock); break; } @@ -249,7 +254,9 @@ static void bl_onchiphci_rx_packet_handler(uint8_t pkt_type, uint16_t src_id, ui buf = bt_buf_get_cmd_complete(K_FOREVER); bl_packet_to_host(pkt_type, src_id, param, param_len, buf); return; - } else if (pkt_type == BT_HCI_LE_EVT && param[0] == BT_HCI_EVT_LE_ADVERTISING_REPORT) { + } +#if defined(CONFIG_BT_OBSERVER) || defined(CONFIG_BT_CENTRAL) || defined(CONFIG_BT_ALLROLES) + else if (pkt_type == BT_HCI_LE_EVT && param[0] == BT_HCI_EVT_LE_ADVERTISING_REPORT) { if (bt_buf_get_rx_avail_cnt() <= CONFIG_BT_RX_BUF_RSV_COUNT) { BT_INFO("Discard adv report."); #if defined(BFLB_BLE_NOTIFY_ADV_DISCARDED) @@ -258,11 +265,12 @@ static void bl_onchiphci_rx_packet_handler(uint8_t pkt_type, uint16_t src_id, ui return; } buf = bt_buf_get_rx(BT_BUF_ACL_IN, K_NO_WAIT); - if (buf) { + if (buf) bl_packet_to_host(pkt_type, src_id, param, param_len, buf); - } return; - } else { + } +#endif /*(CONFIG_BT_OBSERVER || CONFIG_BT_CENTRAL || CONFIG_BT_ALLROLES)*/ + else { if (pkt_type != BT_HCI_ACL_DATA) { /* Using the reserved buf (CONFIG_BT_RX_BUF_RSV_COUNT) firstly. */ buf = bt_buf_get_rx(BT_BUF_ACL_IN, K_NO_WAIT); diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/bl_hci_wrapper/bl_hci_wrapper.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/bl_hci_wrapper/bl_hci_wrapper.h index 6d13fa9a..7f97f4d8 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/bl_hci_wrapper/bl_hci_wrapper.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/bl_hci_wrapper/bl_hci_wrapper.h @@ -1,26 +1,21 @@ #ifndef __BL_HCI_WRAPPER_H__ #define __BL_HCI_WRAPPER_H__ -#include "net/buf.h" #include "bluetooth.h" +#include "net/buf.h" struct rx_msg_struct { - uint8_t pkt_type; - uint16_t src_id; - uint8_t *param; - uint8_t param_len; + uint8_t pkt_type; + uint16_t src_id; + uint8_t *param; + uint8_t param_len; } __packed; -typedef enum { - DATA_TYPE_COMMAND = 1, - DATA_TYPE_ACL = 2, - DATA_TYPE_SCO = 3, - DATA_TYPE_EVENT = 4 -} serial_data_type_t; +typedef enum { DATA_TYPE_COMMAND = 1, DATA_TYPE_ACL = 2, DATA_TYPE_SCO = 3, DATA_TYPE_EVENT = 4 } serial_data_type_t; uint8_t bl_onchiphci_interface_init(void); -void bl_onchiphci_interface_deinit(void); -void bl_trigger_queued_msg(void); -int bl_onchiphci_send_2_controller(struct net_buf *buf); +void bl_onchiphci_interface_deinit(void); +void bl_trigger_queued_msg(void); +int bl_onchiphci_send_2_controller(struct net_buf *buf); #endif //__BL_CONTROLLER_H__ \ No newline at end of file diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/atomic_c.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/atomic_c.c index 34beb7ce..9f46a6e6 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/atomic_c.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/atomic_c.c @@ -17,9 +17,9 @@ * * (originally from x86's atomic.c) */ + #include "bl_port.h" -#include -#include +#include // #include // #include diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/buf.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/buf.c index bb3a5b54..b6951fe9 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/buf.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/buf.c @@ -28,6 +28,10 @@ #include "bl_hci_wrapper.h" #endif +#if (BFLB_STATIC_ALLOC_MEM) +#include "l2cap.h" +#endif + #if defined(CONFIG_NET_BUF_LOG) #define NET_BUF_DBG(fmt, ...) LOG_DBG("(%p) " fmt, k_current_get(), ##__VA_ARGS__) #define NET_BUF_ERR(fmt, ...) LOG_ERR(fmt, ##__VA_ARGS__) @@ -58,21 +62,41 @@ #if defined(BFLB_DYNAMIC_ALLOC_MEM) extern struct net_buf_pool hci_cmd_pool; extern struct net_buf_pool hci_rx_pool; +#if (BFLB_STATIC_ALLOC_MEM) +__attribute__((section(".tcm_data"))) u8_t hci_cmd_data_pool[CONFIG_BT_HCI_CMD_COUNT * BT_BUF_RX_SIZE]; +__attribute__((section(".tcm_data"))) u8_t hci_rx_data_pool[CONFIG_BT_RX_BUF_COUNT * BT_BUF_RX_SIZE]; +#endif #if defined(CONFIG_BT_CONN) extern struct net_buf_pool acl_tx_pool; extern struct net_buf_pool num_complete_pool; +#if (BFLB_STATIC_ALLOC_MEM) +__attribute__((section(".tcm_data"))) u8_t acl_tx_data_pool[CONFIG_BT_L2CAP_TX_BUF_COUNT * BT_L2CAP_BUF_SIZE(CONFIG_BT_L2CAP_TX_MTU)]; +__attribute__((section(".tcm_data"))) u8_t num_complete_data_pool[1 * BT_BUF_RX_SIZE]; +#endif #if CONFIG_BT_ATT_PREPARE_COUNT > 0 extern struct net_buf_pool prep_pool; +#if (BFLB_STATIC_ALLOC_MEM) +__attribute__((section(".tcm_data"))) u8_t prep_data_pool[CONFIG_BT_ATT_PREPARE_COUNT * BT_ATT_MTU]; +#endif #endif #if defined(CONFIG_BT_HCI_ACL_FLOW_CONTROL) extern struct net_buf_pool acl_in_pool; +#if (BFLB_STATIC_ALLOC_MEM) +__attribute__((section(".tcm_data"))) u8_t acl_in_data_pool[CONFIG_BT_ACL_RX_COUNT * ACL_IN_SIZE]; +#endif #endif #if CONFIG_BT_ATT_PREPARE_COUNT > 0 extern struct net_buf_pool frag_pool; +#if (BFLB_STATIC_ALLOC_MEM) +__attribute__((section(".tcm_data"))) u8_t frag_data_pool[CONFIG_BT_L2CAP_TX_FRAG_COUNT * FRAG_SIZE]; +#endif #endif #endif // CONFIG_BT_CONN #if defined(CONFIG_BT_DISCARDABLE_BUF_COUNT) extern struct net_buf_pool discardable_pool; +#if (BFLB_STATIC_ALLOC_MEM) +__attribute__((section(".tcm_data"))) u8_t discardable_data_pool[CONFIG_BT_DISCARDABLE_BUF_COUNT * BT_BUF_RX_SIZE]; +#endif #endif #ifdef CONFIG_BT_MESH extern struct net_buf_pool adv_buf_pool; @@ -130,16 +154,62 @@ extern struct net_buf_pool _net_buf_pool_list[]; #endif // BFLB_DYNAMIC_ALLOC_MEM #if defined(BFLB_DYNAMIC_ALLOC_MEM) -void net_buf_init(struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy) { +#if (BFLB_STATIC_ALLOC_MEM) +void net_buf_init(u8_t buf_type, struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy) +#else +void net_buf_init(struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy) +#endif +{ struct net_buf_pool_fixed *buf_fixed; - buf_pool->alloc = (struct net_buf_data_alloc *)k_malloc(sizeof(void *)); - buf_pool->alloc->alloc_data = (struct net_buf_pool_fixed *)k_malloc(sizeof(void *)); + buf_pool->alloc = (struct net_buf_data_alloc *)k_malloc(sizeof(struct net_buf_data_alloc)); + buf_pool->alloc->alloc_data = (struct net_buf_pool_fixed *)k_malloc(sizeof(struct net_buf_pool_fixed)); buf_fixed = (struct net_buf_pool_fixed *)buf_pool->alloc->alloc_data; - buf_pool->alloc->cb = &net_buf_fixed_cb; - buf_fixed->data_size = data_size; - buf_fixed->data_pool = (u8_t *)k_malloc(buf_count * data_size); + buf_pool->alloc->cb = &net_buf_fixed_cb; + buf_fixed->data_size = data_size; +#if (BFLB_STATIC_ALLOC_MEM) + switch (buf_type) { + case HCI_CMD: + buf_fixed->data_pool = hci_cmd_data_pool; + break; + case HCI_RX: + buf_fixed->data_pool = hci_rx_data_pool; + break; +#if defined(CONFIG_BT_CONN) + case ACL_TX: + buf_fixed->data_pool = acl_tx_data_pool; + break; + case NUM_COMPLETE: + buf_fixed->data_pool = num_complete_data_pool; + break; +#if CONFIG_BT_ATT_PREPARE_COUNT > 0 + case PREP: + buf_fixed->data_pool = prep_data_pool; + break; +#endif +#if defined(CONFIG_BT_HCI_ACL_FLOW_CONTROL) + case ACL_IN: + buf_fixed->data_pool = acl_in_data_pool; + break; +#endif +#if CONFIG_BT_L2CAP_TX_FRAG_COUNT > 0 + case FRAG: + buf_fixed->data_pool = frag_data_pool; + break; +#endif +#endif +#if defined(CONFIG_BT_DISCARDABLE_BUF_COUNT) + case DISCARDABLE: + buf_fixed->data_pool = discardable_data_pool; + break; +#endif + default: + break; + } +#else + buf_fixed->data_pool = (u8_t *)k_malloc(buf_count * data_size); +#endif buf_pool->__bufs = (struct net_buf *)k_malloc(buf_count * sizeof(struct net_buf)); buf_pool->buf_count = buf_count; buf_pool->uninit_count = buf_count; @@ -156,7 +226,9 @@ void net_buf_deinit(struct net_buf_pool *buf_pool) { bt_delete_queue((struct k_fifo *)(&(buf_pool->free))); struct net_buf_pool_fixed *buf_fixed = (struct net_buf_pool_fixed *)buf_pool->alloc->alloc_data; +#if !(BFLB_STATIC_ALLOC_MEM) k_free(buf_fixed->data_pool); +#endif k_free(buf_pool->__bufs); k_free(buf_pool->alloc->alloc_data); k_free(buf_pool->alloc); @@ -353,6 +425,12 @@ struct net_buf *net_buf_alloc_len(struct net_buf_pool *pool, size_t size, s32_t NET_BUF_DBG("%s():%d: pool %p size %zu timeout %d", func, line, pool, size, timeout); +#if (BFLB_BT_CO_THREAD) + extern struct k_thread co_thread_data; + if (k_is_current_thread(&co_thread_data)) + timeout = K_NO_WAIT; +#endif + /* We need to lock interrupts temporarily to prevent race conditions * when accessing pool->uninit_count. */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/include/net/buf.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/include/net/buf.h index b1b58fba..b6e4f774 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/include/net/buf.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/include/net/buf.h @@ -14,7 +14,7 @@ #include #include #include -#include "ble_config.h" +#include "../../port/include/ble_config.h" #ifdef __cplusplus extern "C" { @@ -66,6 +66,19 @@ extern "C" { .__buf = net_buf_data_##_name, \ } +#if (BFLB_STATIC_ALLOC_MEM) +enum { + HCI_CMD = 0, + HCI_RX, + NUM_COMPLETE, + ACL_IN, + DISCARDABLE, + ACL_TX, + FRAG, + PREP, + +}; +#endif /** @brief Simple network buffer representation. * * This is a simpler variant of the net_buf object (in fact net_buf uses @@ -827,7 +840,11 @@ extern const struct net_buf_data_cb net_buf_var_cb; #endif #if defined(BFLB_DYNAMIC_ALLOC_MEM) +#if (BFLB_STATIC_ALLOC_MEM) +void net_buf_init(u8_t buf_type, struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy); +#else void net_buf_init(struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy); +#endif void net_buf_deinit(struct net_buf_pool *buf_pool); #endif /** diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/include/zephyr/types.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/include/zephyr/types.h index 3b07e3b1..ac12b55b 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/include/zephyr/types.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/include/zephyr/types.h @@ -15,12 +15,12 @@ extern "C" { typedef signed char s8_t; typedef signed short s16_t; -typedef signed int s32_t; +typedef int32_t s32_t; typedef signed long long s64_t; typedef unsigned char u8_t; typedef unsigned short u16_t; -typedef unsigned int u32_t; +typedef uint32_t u32_t; typedef unsigned long long u64_t; #ifdef __cplusplus diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/log.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/log.c index 2f43ff2b..d81239ea 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/log.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/log.c @@ -22,7 +22,7 @@ const char *bt_hex_real(const void *buf, size_t len) { static const char hex[] = "0123456789abcdef"; #if defined(CONFIG_BT_DEBUG_MONITOR) - static char str[255]; + static char str[512]; #else static char str[128]; #endif diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/log.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/log.h index 74f9ec72..0ff18b6a 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/log.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/log.h @@ -21,8 +21,8 @@ #include #include "FreeRTOS.h" -#include "task.h" #include "FreeRTOSConfig.h" +#include "task.h" #ifdef __cplusplus extern "C" { @@ -38,16 +38,20 @@ extern "C" { #define LOG_LEVEL CONFIG_BT_LOG_LEVEL #endif -//LOG_MODULE_REGISTER(LOG_MODULE_NAME, LOG_LEVEL); +// LOG_MODULE_REGISTER(LOG_MODULE_NAME, LOG_LEVEL); #if defined(BFLB_BLE) #if defined(BL_MCU_SDK) -#define BT_DBG(fmt, ...) //bflb_platform_printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) -#define BT_ERR(fmt, ...) bflb_platform_printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) +#define BT_DBG(fmt, ...) // bflb_platform_printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) +#define BT_ERR(fmt, ...) bflb_platform_printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) +#define BT_WARN(fmt, ...) bflb_platform_printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) +#define BT_INFO(fmt, ...) // bflb_platform_printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) #else -#define BT_DBG(fmt, ...) //printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) -#define BT_ERR(fmt, ...) printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) +#define BT_DBG(fmt, ...) // printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) +#define BT_ERR(fmt, ...) printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) +#define BT_WARN(fmt, ...) printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) +#define BT_INFO(fmt, ...) // printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) #endif #if defined(CONFIG_BT_STACK_PTS) || defined(CONFIG_BT_MESH_PTS) @@ -56,14 +60,6 @@ extern "C" { #else #define BT_PTS(fmt, ...) printf(fmt "\r\n", ##__VA_ARGS__) #endif - -#endif -#if defined(BL_MCU_SDK) -#define BT_WARN(fmt, ...) bflb_platform_printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) -#define BT_INFO(fmt, ...) //bflb_platform_printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) -#else -#define BT_WARN(fmt, ...) printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) -#define BT_INFO(fmt, ...) //printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) #endif #else /*BFLB_BLE*/ @@ -89,17 +85,16 @@ extern "C" { #if defined(CONFIG_BT_ASSERT) #if defined(BFLB_BLE) -extern void vAssertCalled(void); -#define BT_ASSERT(cond) \ - if ((cond) == 0) \ - vAssertCalled() +extern void user_vAssertCalled(void); +#define BT_ASSERT(cond) \ + if ((cond) == 0) \ + user_vAssertCalled() #else -#define BT_ASSERT(cond) \ - if (!(cond)) { \ - BT_ASSERT_PRINT("assert: '" #cond \ - "' failed\n"); \ - BT_ASSERT_DIE(); \ - } +#define BT_ASSERT(cond) \ + if (!(cond)) { \ + BT_ASSERT_PRINT("assert: '" #cond "' failed\n"); \ + BT_ASSERT_DIE(); \ + } #endif /*BFLB_BLE*/ #else #if defined(BFLB_BLE) @@ -109,14 +104,10 @@ extern void vAssertCalled(void); #endif /*BFLB_BLE*/ #endif /* CONFIG_BT_ASSERT*/ -#define BT_HEXDUMP_DBG(_data, _length, _str) \ - LOG_HEXDUMP_DBG((const u8_t *)_data, _length, _str) +#define BT_HEXDUMP_DBG(_data, _length, _str) LOG_HEXDUMP_DBG((const u8_t *)_data, _length, _str) #if defined(BFLB_BLE) -static inline char *log_strdup(const char *str) -{ - return (char *)str; -} +static inline char *log_strdup(const char *str) { return (char *)str; } #endif /* NOTE: These helper functions always encodes into the same buffer storage. diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/poll.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/poll.c index 8dce95e2..40fe5dd9 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/poll.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/poll.c @@ -139,12 +139,23 @@ static inline void set_event_ready(struct k_poll_event *event, u32_t state) { event->state |= state; } -static bool polling_events(struct k_poll_event *events, int num_events, s32_t timeout, int *last_registered) { +#if (BFLB_BT_CO_THREAD) +static bool polling_events(struct k_poll_event *events, int num_events, int total_evt_array_cnt, s32_t timeout, int *last_registered) +#else +static bool polling_events(struct k_poll_event *events, int num_events, s32_t timeout, int *last_registered) +#endif +{ int rc; bool polling = true; unsigned int key; +#if (BFLB_BT_CO_THREAD) + for (int ii = 0; ii < total_evt_array_cnt; ii++) { + if (ii >= num_events && ii != total_evt_array_cnt - 1) + continue; +#else for (int ii = 0; ii < num_events; ii++) { +#endif u32_t state; key = irq_lock(); if (is_condition_met(&events[ii], &state)) { @@ -163,7 +174,12 @@ static bool polling_events(struct k_poll_event *events, int num_events, s32_t ti return polling; } -int k_poll(struct k_poll_event *events, int num_events, s32_t timeout) { +#if (BFLB_BT_CO_THREAD) +int k_poll(struct k_poll_event *events, int num_events, int total_evt_array_cnt, s32_t timeout, u8_t *to_process) +#else +int k_poll(struct k_poll_event *events, int num_events, s32_t timeout) +#endif +{ __ASSERT(events, "NULL events\n"); __ASSERT(num_events > 0, "zero events\n"); @@ -172,16 +188,32 @@ int k_poll(struct k_poll_event *events, int num_events, s32_t timeout) { bool polling = true; /* find events whose condition is already fulfilled */ +#if (BFLB_BT_CO_THREAD) + polling = polling_events(events, num_events, total_evt_array_cnt, timeout, &last_registered); +#else polling = polling_events(events, num_events, timeout, &last_registered); +#endif if (polling == false) { goto exit; } +#if (BFLB_BT_CO_THREAD) + if (timeout != K_NO_WAIT) +#endif + { + k_sem_take(&g_poll_sem, timeout); + last_registered = -1; +#if (BFLB_BT_CO_THREAD) + polling = polling_events(events, num_events, total_evt_array_cnt, timeout, &last_registered); +#else + polling_events(events, num_events, timeout, &last_registered); +#endif + } - k_sem_take(&g_poll_sem, timeout); - - last_registered = -1; - polling_events(events, num_events, timeout, &last_registered); +#if (BFLB_BT_CO_THREAD) + if (to_process) + *to_process = polling ? 0 : 1; +#endif exit: key = irq_lock(); clear_event_registrations(events, last_registered, key); diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/rpa.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/rpa.c index ef5d96c2..fab3edea 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/rpa.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/rpa.c @@ -10,9 +10,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include +#include #include -#include #include #include #include diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/rpa.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/rpa.h index dca68f15..148afc0b 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/rpa.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/rpa.h @@ -13,4 +13,4 @@ #include "hci_host.h" bool bt_rpa_irk_matches(const u8_t irk[16], const bt_addr_t *addr); -int bt_rpa_create(const u8_t irk[16], bt_addr_t *rpa); +int bt_rpa_create(const u8_t irk[16], bt_addr_t *rpa); diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/ecc.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/ecc.c index e9281a59..c7b86bce 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/ecc.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/ecc.c @@ -52,10 +52,11 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "ecc.h" #include "../include/tinycrypt/ecc.h" -#include "../include/tinycrypt/ecc_platform_specific.h" -#include +#include "ecc_platform_specific.h" #include + /* IMPORTANT: Make sure a cryptographically-secure PRNG is set and the platform * has access to enough entropy in order to feed the PRNG regularly. */ #if default_RNG_defined @@ -752,9 +753,8 @@ int uECC_valid_point(const uECC_word_t *point, uECC_Curve curve) { curve->x_side(tmp2, point, curve); /* tmp2 = x^3 + ax + b */ /* Make sure that y^2 == x^3 + ax + b */ - if (uECC_vli_equal(tmp1, tmp2, num_words) != 0) { + if (uECC_vli_equal(tmp1, tmp2, num_words) != 0) return -3; - } return 0; } diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/ecc_platform_specific.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/ecc_platform_specific.c index f958eb95..261ca747 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/ecc_platform_specific.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/ecc_platform_specific.c @@ -70,9 +70,8 @@ int default_CSPRNG(uint8_t *dest, unsigned int size) { /* input sanity check: */ - if (dest == (uint8_t *)0 || (size <= 0)) { + if (dest == (uint8_t *)0 || (size <= 0)) return 0; - } int fd = open("/dev/urandom", O_RDONLY | O_CLOEXEC); if (fd == -1) { diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/hmac_prng.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/hmac_prng.c index 1c9971bd..3fe12044 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/hmac_prng.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/tinycrypt/source/hmac_prng.c @@ -87,12 +87,10 @@ static void update(TCHmacPrng_t prng, const uint8_t *data, unsigned int datalen, (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); (void)tc_hmac_update(&prng->h, &separator0, sizeof(separator0)); - if (data && datalen) { + if (data && datalen) (void)tc_hmac_update(&prng->h, data, datalen); - } - if (additional_data && additional_datalen) { + if (additional_data && additional_datalen) (void)tc_hmac_update(&prng->h, additional_data, additional_datalen); - } (void)tc_hmac_final(prng->key, sizeof(prng->key), &prng->h); @@ -104,9 +102,8 @@ static void update(TCHmacPrng_t prng, const uint8_t *data, unsigned int datalen, (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); (void)tc_hmac_final(prng->v, sizeof(prng->v), &prng->h); - if (data == 0 || datalen == 0) { + if (data == 0 || datalen == 0) return; - } /* configure the new prng key into the prng's instance of hmac */ tc_hmac_set_key(&prng->h, prng->key, sizeof(prng->key)); @@ -116,9 +113,8 @@ static void update(TCHmacPrng_t prng, const uint8_t *data, unsigned int datalen, (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); (void)tc_hmac_update(&prng->h, &separator1, sizeof(separator1)); (void)tc_hmac_update(&prng->h, data, datalen); - if (additional_data && additional_datalen) { + if (additional_data && additional_datalen) (void)tc_hmac_update(&prng->h, additional_data, additional_datalen); - } (void)tc_hmac_final(prng->key, sizeof(prng->key), &prng->h); /* configure the new prng key into the prng's instance of hmac */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/work_q.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/work_q.c index 86d2285c..722c6f03 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/work_q.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/common/work_q.c @@ -24,10 +24,24 @@ struct k_work_q g_work_queue_main; static void k_work_submit_to_queue(struct k_work_q *work_q, struct k_work *work) { if (!atomic_test_and_set_bit(work->flags, K_WORK_STATE_PENDING)) { k_fifo_put(&work_q->fifo, work); +#if (BFLB_BT_CO_THREAD) + extern struct k_sem g_poll_sem; + k_sem_give(&g_poll_sem); +#endif } } #if defined(BFLB_BLE) +#if (BFLB_BT_CO_THREAD) +void handle_work_queue(void) { + struct k_work *work; + work = k_fifo_get(&g_work_queue_main.fifo, K_NO_WAIT); + + if (atomic_test_and_clear_bit(work->flags, K_WORK_STATE_PENDING)) { + work->handler(work); + } +} +#else static void work_queue_main(void *p1) { struct k_work *work; UNUSED(p1); @@ -47,6 +61,7 @@ int k_work_q_start(void) { k_fifo_init(&g_work_queue_main.fifo, 20); return k_thread_create(&work_q_thread, "work_q_thread", CONFIG_BT_WORK_QUEUE_STACK_SIZE, work_queue_main, CONFIG_BT_WORK_QUEUE_PRIO); } +#endif int k_work_init(struct k_work *work, k_work_handler_t handler) { ASSERT(work, "work is NULL"); @@ -170,9 +185,8 @@ s32_t k_delayed_work_remaining_get(struct k_delayed_work *work) { } void k_delayed_work_del_timer(struct k_delayed_work *work) { - if (NULL == work || NULL == work->timer.timer.hdl) { + if (NULL == work || NULL == work->timer.timer.hdl) return; - } k_timer_delete(&work->timer); work->timer.timer.hdl = NULL; diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/hci_onchip/hci_driver.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/hci_onchip/hci_driver.c index 47b1daf6..7cc42b9b 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/hci_onchip/hci_driver.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/hci_onchip/hci_driver.c @@ -14,8 +14,7 @@ // #include // #include // #include -#include -#include +#include #include #include @@ -51,11 +50,6 @@ static K_SEM_DEFINE(sem_prio_recv, 0, BT_UINT_MAX); #endif K_FIFO_DEFINE(recv_fifo); -#if (BFLB_BLE_CO_THREAD) -extern struct k_sem g_poll_sem; -static int recv_fifo_count = 0; -#endif - #if !defined(BFLB_BLE) struct k_thread prio_recv_thread_data; static BT_STACK_NOINIT(prio_recv_thread_stack, CONFIG_BT_CTLR_RX_PRIO_STACK_SIZE); @@ -280,35 +274,6 @@ static inline struct net_buf *process_hbuf(struct radio_pdu_node_rx *n) { #endif #if defined(BFLB_BLE) -#if (BFLB_BLE_CO_THREAD) -void co_rx_thread() { - struct net_buf *buf = NULL; - buf = net_buf_get(&recv_fifo, K_NO_WAIT); - if (buf) { - BT_DBG("Calling bt_recv(%p)", buf); - bt_recv(buf); - } -} - -void co_tx_rx_thread(void *p1) { - UNUSED(p1); - BT_DBG("using %s\n", __func__); - while (1) { - if (k_sem_count_get(&g_poll_sem) > 0) { - co_tx_thread(); - } - - if (recv_fifo_count > 0) { - recv_fifo_count--; - co_rx_thread(); - } - - k_sleep(portTICK_PERIOD_MS); - k_yield(); - } -} - -#else static void recv_thread(void *p1) { UNUSED(p1); #if defined(CONFIG_BT_HCI_ACL_FLOW_CONTROL) @@ -379,7 +344,6 @@ static void recv_thread(void *p1) { } } #endif -#endif #if !defined(BFLB_BLE) static int cmd_handle(struct net_buf *buf) { @@ -474,12 +438,11 @@ static int hci_driver_open(void) { hci_init(NULL); #endif #endif +#if (!BFLB_BT_CO_THREAD) k_fifo_init(&recv_fifo, 20); - +#endif #if defined(BFLB_BLE) -#if (BFLB_BLE_CO_THREAD) - k_thread_create(&recv_thread_data, "co_tx_rx_thread", CONFIG_BT_RX_STACK_SIZE, co_tx_rx_thread, K_PRIO_COOP(CONFIG_BT_RX_PRIO)); -#else +#if (!BFLB_BT_CO_THREAD) k_thread_create(&recv_thread_data, "recv_thread", CONFIG_BT_RX_STACK_SIZE /*K_THREAD_STACK_SIZEOF(recv_thread_stack)*/, recv_thread, K_PRIO_COOP(CONFIG_BT_RX_PRIO)); #endif #else @@ -493,8 +456,9 @@ static int hci_driver_open(void) { void hci_driver_enque_recvq(struct net_buf *buf) { net_buf_put(&recv_fifo, buf); -#if (BFLB_BLE_CO_THREAD) - recv_fifo_count++; +#if (BFLB_BT_CO_THREAD) + extern struct k_sem g_poll_sem; + k_sem_give(&g_poll_sem); #endif } diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/a2dp.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/a2dp.c deleted file mode 100644 index 6a7ddc1b..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/a2dp.c +++ /dev/null @@ -1,280 +0,0 @@ -/** @file - * @brief Advance Audio Distribution Profile. - */ - -/* - * Copyright (c) 2015-2016 Intel Corporation - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#define BT_DBG_ENABLED IS_ENABLED(CONFIG_BT_DEBUG_A2DP) -#define LOG_MODULE_NAME bt_a2dp -#include "log.h" - -#include "a2dp-codec.h" -#include "a2dp_internal.h" -#include "avdtp_internal.h" -#include "conn_internal.h" -#include "hci_core.h" -#include "oi_codec_sbc.h" - -#define A2DP_NO_SPACE (-1) - -struct bt_a2dp { - struct bt_avdtp session; -}; - -typedef struct { - OI_CODEC_SBC_DECODER_CONTEXT decoder_context; - uint32_t context_data[CODEC_DATA_WORDS(SBC_MAX_CHANNELS, SBC_CODEC_FAST_FILTER_BUFFERS)]; - int16_t decode_buf[15 * SBC_MAX_SAMPLES_PER_FRAME * SBC_MAX_CHANNELS]; -} A2DP_SBC_DECODER; - -static A2DP_SBC_DECODER sbc_decoder; - -/* Connections */ -static struct bt_a2dp connection[CONFIG_BT_MAX_CONN]; -static struct bt_avdtp_stream stream[CONFIG_BT_MAX_CONN]; - -static struct bt_sdp_attribute a2dp_attrs[] = { - BT_SDP_NEW_SERVICE, - BT_SDP_LIST(BT_SDP_ATTR_SVCLASS_ID_LIST, BT_SDP_TYPE_SIZE_VAR(BT_SDP_SEQ8, 3), BT_SDP_DATA_ELEM_LIST({BT_SDP_TYPE_SIZE(BT_SDP_UUID16), BT_SDP_ARRAY_16(BT_SDP_AUDIO_SINK_SVCLASS)}, )), - BT_SDP_LIST(BT_SDP_ATTR_PROTO_DESC_LIST, BT_SDP_TYPE_SIZE_VAR(BT_SDP_SEQ8, 16), - BT_SDP_DATA_ELEM_LIST({BT_SDP_TYPE_SIZE_VAR(BT_SDP_SEQ8, 6), BT_SDP_DATA_ELEM_LIST({BT_SDP_TYPE_SIZE(BT_SDP_UUID16), BT_SDP_ARRAY_16(BT_SDP_PROTO_L2CAP)}, - {BT_SDP_TYPE_SIZE(BT_SDP_UINT16), BT_SDP_ARRAY_16(BT_L2CAP_PSM_AVDTP)}, )}, - {BT_SDP_TYPE_SIZE_VAR(BT_SDP_SEQ8, 6), - BT_SDP_DATA_ELEM_LIST({BT_SDP_TYPE_SIZE(BT_SDP_UUID16), BT_SDP_ARRAY_16(BT_L2CAP_PSM_AVDTP)}, {BT_SDP_TYPE_SIZE(BT_SDP_UINT16), BT_SDP_ARRAY_16(0x0102)}, )}, )), - BT_SDP_LIST(BT_SDP_ATTR_PROFILE_DESC_LIST, BT_SDP_TYPE_SIZE_VAR(BT_SDP_SEQ8, 8), - BT_SDP_DATA_ELEM_LIST({BT_SDP_TYPE_SIZE_VAR(BT_SDP_SEQ8, 6), BT_SDP_DATA_ELEM_LIST({BT_SDP_TYPE_SIZE(BT_SDP_UUID16), BT_SDP_ARRAY_16(BT_SDP_ADVANCED_AUDIO_SVCLASS)}, - {BT_SDP_TYPE_SIZE(BT_SDP_UINT16), BT_SDP_ARRAY_16(0x0102)}, )}, )), - BT_SDP_SERVICE_NAME("A2DP sink"), -}; - -static struct bt_sdp_record a2dp_rec = BT_SDP_RECORD(a2dp_attrs); - -struct bt_a2dp_endpoint endpoint_1; -struct bt_a2dp_endpoint endpoint_2; - -struct bt_a2dp_codec_sbc_params sbc_info; - -void bt_a2dp_set_sbc_codec_info() { - sbc_info.config[0] = - // Sampling Frequency - A2DP_SBC_SAMP_FREQ_48000 | A2DP_SBC_SAMP_FREQ_44100 | A2DP_SBC_SAMP_FREQ_32000 | A2DP_SBC_SAMP_FREQ_16000 | - // Channel Mode - A2DP_SBC_CH_MODE_JOINT | A2DP_SBC_CH_MODE_STREO | A2DP_SBC_CH_MODE_DUAL | A2DP_SBC_CH_MODE_MONO; - sbc_info.config[1] = - // Block Length - A2DP_SBC_BLK_LEN_16 | A2DP_SBC_BLK_LEN_12 | A2DP_SBC_BLK_LEN_8 | A2DP_SBC_BLK_LEN_4 | - // Subbands - A2DP_SBC_SUBBAND_8 | A2DP_SBC_SUBBAND_4 | - // Allocation Method - A2DP_SBC_ALLOC_MTHD_SNR | A2DP_SBC_ALLOC_MTHD_LOUDNESS; - sbc_info.min_bitpool = 2; - sbc_info.max_bitpool = 53; -} - -void a2d_reset(struct bt_a2dp *a2dp_conn) { (void)memset(a2dp_conn, 0, sizeof(struct bt_a2dp)); } - -void stream_reset(struct bt_avdtp_stream *stream_conn) { (void)memset(stream_conn, 0, sizeof(struct bt_avdtp_stream)); } - -struct bt_a2dp *get_new_connection(struct bt_conn *conn) { - int8_t i, free; - - free = A2DP_NO_SPACE; - - if (!conn) { - BT_ERR("Invalid Input (err: %d)", -EINVAL); - return NULL; - } - - /* Find a space */ - for (i = 0; i < CONFIG_BT_MAX_CONN; i++) { - if (connection[i].session.br_chan.chan.conn == conn) { - BT_DBG("Conn already exists"); - if (!connection[i].session.streams->chan.chan.conn) { - BT_DBG("Create AV stream"); - return &connection[i]; - } else { - BT_DBG("A2DP signal stream and AV stream already exists"); - return NULL; - } - } - - if (!connection[i].session.br_chan.chan.conn && free == A2DP_NO_SPACE) { - BT_DBG("Create signal stream"); - free = i; - } - } - - if (free == A2DP_NO_SPACE) { - BT_DBG("More connection cannot be supported"); - return NULL; - } - - /* Clean the memory area before returning */ - a2d_reset(&connection[free]); - stream_reset(&stream[free]); - connection[free].session.streams = &stream[free]; - - return &connection[free]; -} - -int a2dp_accept(struct bt_conn *conn, struct bt_avdtp **session) { - struct bt_a2dp *a2dp_conn; - - a2dp_conn = get_new_connection(conn); - if (!a2dp_conn) { - return -ENOMEM; - } - - *session = &(a2dp_conn->session); - BT_DBG("session: %p", &(a2dp_conn->session)); - - return 0; -} - -int a2dp_sbc_decode_init() { - OI_STATUS status = OI_CODEC_SBC_DecoderReset(&sbc_decoder.decoder_context, sbc_decoder.context_data, sizeof(sbc_decoder.context_data), 2, 2, false, false); - if (!OI_SUCCESS(status)) { - BT_ERR("decode init failed with error: %d\n", status); - return status; - } - - return 0; -} - -#if PCM_PRINTF -extern int16_t cool_edit[]; -extern uint32_t byte_index; -#endif -int a2dp_sbc_decode_process(uint8_t media_data[], uint16_t data_len) { - // remove media header, expose sbc frame - const OI_BYTE *data = media_data + 12 + 1; - OI_UINT32 data_size = data_len - 12 - 1; - - if (data_size <= 0) { - BT_ERR("empty packet\n"); - return -1; - } - - if (data[0] != 0x9c) { - BT_ERR("sbc frame syncword error \n"); - } - - OI_INT16 *pcm = sbc_decoder.decode_buf; - OI_UINT32 pcm_size = sizeof(sbc_decoder.decode_buf); - - OI_INT16 frame_count = OI_CODEC_SBC_FrameCount((OI_BYTE *)data, data_size); - BT_DBG("frame_count: %d\n", frame_count); - - for (int i = 0; i < frame_count; i++) { - OI_STATUS status = OI_CODEC_SBC_DecodeFrame(&sbc_decoder.decoder_context, &data, &data_size, pcm, &pcm_size); - if (!OI_SUCCESS(status)) { - BT_ERR("decoding failure with error: %d \n", status); - return -1; - } - -#if PCM_PRINTF - memcpy((OI_INT8 *)cool_edit + byte_index, pcm, pcm_size); - byte_index += pcm_size; -#endif - } - - return 0; -} - -/* Callback for incoming requests */ -static struct bt_avdtp_ind_cb cb_ind = { - /*TODO*/ -}; - -/* The above callback structures need to be packed and passed to AVDTP */ -static struct bt_avdtp_event_cb avdtp_cb = {.ind = &cb_ind, .accept = a2dp_accept}; - -int bt_a2dp_init(void) { - int err; - - /* Register event handlers with AVDTP */ - err = bt_avdtp_register(&avdtp_cb); - if (err < 0) { - BT_ERR("A2DP registration failed"); - return err; - } - - /* Register SDP record */ - err = bt_sdp_register_service(&a2dp_rec); - if (err < 0) { - BT_ERR("A2DP regist sdp record failed"); - return err; - } - - int reg_1 = bt_a2dp_register_endpoint(&endpoint_1, BT_A2DP_AUDIO, BT_A2DP_SINK); - int reg_2 = bt_a2dp_register_endpoint(&endpoint_2, BT_A2DP_AUDIO, BT_A2DP_SINK); - if (reg_1 || reg_2) { - BT_ERR("A2DP registration endpoint 1 failed"); - return err; - } - - bt_a2dp_set_sbc_codec_info(); - - err = a2dp_sbc_decode_init(); - if (err < 0) { - BT_ERR("sbc codec init failed"); - return err; - } - - BT_DBG("A2DP Initialized successfully."); - return 0; -} - -struct bt_a2dp *bt_a2dp_connect(struct bt_conn *conn) { - struct bt_a2dp *a2dp_conn; - int err; - - a2dp_conn = get_new_connection(conn); - if (!a2dp_conn) { - BT_ERR("Cannot allocate memory"); - return NULL; - } - - err = bt_avdtp_connect(conn, &(a2dp_conn->session)); - if (err < 0) { - /* If error occurs, undo the saving and return the error */ - a2d_reset(a2dp_conn); - BT_DBG("AVDTP Connect failed"); - return NULL; - } - - BT_DBG("Connect request sent"); - return a2dp_conn; -} - -int bt_a2dp_register_endpoint(struct bt_a2dp_endpoint *endpoint, uint8_t media_type, uint8_t role) { - int err; - - BT_ASSERT(endpoint); - - err = bt_avdtp_register_sep(media_type, role, &(endpoint->info)); - if (err < 0) { - return err; - } - - return 0; -} diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/a2dp_internal.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/a2dp_internal.h deleted file mode 100644 index 08e8b76b..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/a2dp_internal.h +++ /dev/null @@ -1,12 +0,0 @@ -/** @file - * @brief Advance Audio Distribution Profile Internal header. - */ - -/* - * Copyright (c) 2015-2016 Intel Corporation - * - * SPDX-License-Identifier: Apache-2.0 - */ - -/* To be called when first SEP is being registered */ -int bt_a2dp_init(void); diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/att.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/att.c index 52f2ad92..fa41cc28 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/att.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/att.c @@ -8,12 +8,13 @@ #include #include -#include -#include #include #include #include +#include +#include + #include #include #include @@ -23,13 +24,15 @@ #define BT_DBG_ENABLED IS_ENABLED(CONFIG_BT_DEBUG_ATT) #include "log.h" -#include "att_internal.h" -#include "conn_internal.h" -#include "gatt_internal.h" #include "hci_core.h" + +#include "conn_internal.h" #include "l2cap_internal.h" #include "smp.h" +#include "att_internal.h" +#include "gatt_internal.h" + #define ATT_CHAN(_ch) CONTAINER_OF(_ch, struct bt_att, chan.chan) #define ATT_REQ(_node) CONTAINER_OF(_node, struct bt_att_req, node) @@ -283,9 +286,8 @@ static u8_t att_mtu_req(struct bt_att *att, struct net_buf *buf) { BT_DBG("Negotiated MTU %u", att->chan.rx.mtu); #if defined(BFLB_BLE_MTU_CHANGE_CB) - if (att->chan.chan.ops->mtu_changed) { + if (att->chan.chan.ops->mtu_changed) att->chan.chan.ops->mtu_changed(&(att->chan.chan), att->chan.rx.mtu); - } #endif return 0; @@ -366,7 +368,9 @@ static u8_t att_handle_rsp(struct bt_att *att, void *pdu, u16_t len, u8_t err) { func = att->req->func; att->req->func = NULL; - func(att->chan.chan.conn, err, pdu, len, att->req); + if (func) { + func(att->chan.chan.conn, err, pdu, len, att->req); + } /* Don't destroy if callback had reused the request */ if (!att->req->func) { @@ -828,9 +832,8 @@ static u8_t att_read_type_rsp(struct bt_att *att, struct bt_uuid *uuid, u16_t st } #if defined(CONFIG_BT_STACK_PTS) - if (event_flag == att_read_by_type_ind) { + if (event_flag == att_read_by_type_ind) BT_PTS("handle : [0x%04x]\r\n", data.rsp->data->handle); - } #endif (void)bt_l2cap_send_cb(conn, BT_L2CAP_CID_ATT, data.buf, att_rsp_sent, NULL); @@ -1491,9 +1494,8 @@ static int att_change_security(struct bt_conn *conn, u8_t err) { switch (err) { case BT_ATT_ERR_INSUFFICIENT_ENCRYPTION: - if (conn->sec_level >= BT_SECURITY_L2) { + if (conn->sec_level >= BT_SECURITY_L2) return -EALREADY; - } sec = BT_SECURITY_L2; break; case BT_ATT_ERR_AUTHENTICATION: @@ -1981,9 +1983,8 @@ static void bt_att_disconnected(struct bt_l2cap_chan *chan) { bt_gatt_disconnected(ch->chan.conn); #ifdef BFLB_BLE_PATCH_FREE_ALLOCATED_BUFFER_IN_OS - if (att->timeout_work.timer.timer.hdl) { + if (att->timeout_work.timer.timer.hdl) k_delayed_work_del_timer(&att->timeout_work); - } if (att->tx_queue._queue.hdl) { k_queue_free(&att->tx_queue._queue); @@ -1997,9 +1998,8 @@ static void bt_att_disconnected(struct bt_l2cap_chan *chan) { } #endif - if (att->tx_sem.sem.hdl) { + if (att->tx_sem.sem.hdl) k_sem_delete(&att->tx_sem); - } #endif } @@ -2030,7 +2030,14 @@ static void bt_att_encrypt_change(struct bt_l2cap_chan *chan, u8_t hci_status) { return; } +#if (BFLB_BT_CO_THREAD) + if (k_sem_take(&att->tx_sem, K_NO_WAIT) < 0) { + k_fifo_put(&att->tx_queue, att->req->buf); + return; + } +#else k_sem_take(&att->tx_sem, K_FOREVER); +#endif if (!att_is_connected(att)) { BT_WARN("Disconnected"); k_sem_give(&att->tx_sem); @@ -2100,8 +2107,12 @@ void bt_att_init(void) { #if CONFIG_BT_ATT_PREPARE_COUNT > 0 #if defined(BFLB_DYNAMIC_ALLOC_MEM) +#if (BFLB_STATIC_ALLOC_MEM) + net_buf_init(PREP, &prep_pool, CONFIG_BT_ATT_PREPARE_COUNT, BT_ATT_MTU, NULL); +#else net_buf_init(&prep_pool, CONFIG_BT_ATT_PREPARE_COUNT, BT_ATT_MTU, NULL); #endif +#endif #endif bt_gatt_init(); diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/att_internal.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/att_internal.h index 68fd8348..f591a8b8 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/att_internal.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/att_internal.h @@ -5,7 +5,7 @@ * * SPDX-License-Identifier: Apache-2.0 */ -#include "conn_internal.h" + #define BT_ATT_DEFAULT_LE_MTU 23 #if BT_L2CAP_RX_MTU < CONFIG_BT_L2CAP_TX_MTU diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/avdtp_internal.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/avdtp_internal.h index 7825a6e4..e182689f 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/avdtp_internal.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/avdtp_internal.h @@ -7,9 +7,6 @@ */ #include -#include "l2cap.h" -#ifndef BLE_STACK_HOST_AVDTP_INTERNAL_H_ -#define BLE_STACK_HOST_AVDTP_INTERNAL_H_ /* @brief A2DP ROLE's */ #define A2DP_SRC_ROLE 0x00 @@ -176,5 +173,3 @@ int bt_avdtp_register_sep(uint8_t media_type, uint8_t role, /* AVDTP Discover Request */ int bt_avdtp_discover(struct bt_avdtp *session, struct bt_avdtp_discover_params *param); - -#endif \ No newline at end of file diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/conn.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/conn.c index 1e389fae..4e3a54cf 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/conn.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/conn.c @@ -17,24 +17,27 @@ #include #include -#include +#include + #include #include #include -#include + +#include #define BT_DBG_ENABLED IS_ENABLED(CONFIG_BT_DEBUG_CONN) #define LOG_MODULE_NAME bt_conn #include "log.h" -#include "att_internal.h" -#include "gatt_internal.h" #include "hci_core.h" + +#include "conn_internal.h" #include "keys.h" #include "l2cap_internal.h" #include "smp.h" -#include "conn_internal.h" +#include "att_internal.h" +#include "gatt_internal.h" #if defined(BFLB_BLE) #include "ble_config.h" @@ -155,12 +158,12 @@ static void notify_connected(struct bt_conn *conn) { } } - if (!conn->err) { + if (conn->type == BT_CONN_TYPE_LE && !conn->err) { bt_gatt_connected(conn); } } -static void notify_disconnected(struct bt_conn *conn) { +void notify_disconnected(struct bt_conn *conn) { struct bt_conn_cb *cb; #if defined(CONFIG_BT_BREDR) @@ -199,6 +202,16 @@ void notify_le_param_updated(struct bt_conn *conn) { } } +void notify_le_phy_updated(struct bt_conn *conn, u8_t tx_phy, u8_t rx_phy) { + struct bt_conn_cb *cb; + + for (cb = callback_list; cb; cb = cb->_next) { + if (cb->le_phy_updated) { + cb->le_phy_updated(conn, tx_phy, rx_phy); + } + } +} + bool le_param_req(struct bt_conn *conn, struct bt_le_conn_param *param) { struct bt_conn_cb *cb; @@ -312,7 +325,9 @@ static void conn_update_timeout(struct k_work *work) { if (conn->state == BT_CONN_DISCONNECTED) { bt_l2cap_disconnected(conn); +#if !defined(BFLB_BLE) notify_disconnected(conn); +#endif /* Release the reference we took for the very first * state transition. @@ -406,7 +421,7 @@ static struct bt_conn *conn_new(void) { #if defined(BFLB_BLE) bool le_check_valid_conn(void) { - size_t i; + int i; for (i = 0; i < ARRAY_SIZE(conns); i++) { if (atomic_get(&conns[i].ref)) { @@ -419,7 +434,7 @@ bool le_check_valid_conn(void) { #if defined(BFLB_HOST_ASSISTANT) void bt_notify_disconnected(void) { - size_t i; + int i; for (i = 0; i < ARRAY_SIZE(conns); i++) { if (atomic_get(&conns[i].ref)) { @@ -506,6 +521,7 @@ struct bt_conn *bt_conn_create_br(const bt_addr_t *peer, const struct bt_br_conn bt_conn_set_state(conn, BT_CONN_CONNECT); conn->role = BT_CONN_ROLE_MASTER; + bt_conn_unref(conn); return conn; } @@ -569,7 +585,7 @@ struct bt_conn *bt_conn_create_sco(const bt_addr_t *peer) { } struct bt_conn *bt_conn_lookup_addr_sco(const bt_addr_t *peer) { - size_t i; + int i; for (i = 0; i < ARRAY_SIZE(sco_conns); i++) { if (!atomic_get(&sco_conns[i].ref)) { @@ -589,7 +605,7 @@ struct bt_conn *bt_conn_lookup_addr_sco(const bt_addr_t *peer) { } struct bt_conn *bt_conn_lookup_addr_br(const bt_addr_t *peer) { - size_t i; + int i; for (i = 0; i < ARRAY_SIZE(conns); i++) { if (!atomic_get(&conns[i].ref)) { @@ -1269,10 +1285,21 @@ int bt_conn_send_cb(struct bt_conn *conn, struct net_buf *buf, bt_conn_tx_cb_t c tx_data(buf)->tx = NULL; } +#if (BFLB_BT_CO_THREAD) + if (k_is_current_thread(bt_get_co_thread())) + bt_conn_process_tx(conn, buf); + else + net_buf_put(&conn->tx_queue, buf); +#if defined(BFLB_BLE) + k_sem_give(&g_poll_sem); +#endif +#else // BFLB_BT_CO_THREAD + net_buf_put(&conn->tx_queue, buf); #if defined(BFLB_BLE) k_sem_give(&g_poll_sem); #endif +#endif // BFLB_BT_CO_THREAD return 0; } @@ -1446,9 +1473,8 @@ static void conn_cleanup(struct bt_conn *conn) { // k_queue_free(&conn->tx_notify._queue); conn->tx_queue._queue.hdl = NULL; // conn->tx_notify._queue.hdl = NULL; - if (conn->update_work.timer.timer.hdl) { + if (conn->update_work.timer.timer.hdl) k_delayed_work_del_timer(&conn->update_work); - } #endif } @@ -1485,7 +1511,12 @@ int bt_conn_prepare_events(struct k_poll_event events[]) { return ev_count; } -void bt_conn_process_tx(struct bt_conn *conn) { +#if (BFLB_BT_CO_THREAD) +void bt_conn_process_tx(struct bt_conn *conn, struct net_buf *tx_buf) +#else +void bt_conn_process_tx(struct bt_conn *conn) +#endif +{ struct net_buf *buf; BT_DBG("conn %p", conn); @@ -1495,9 +1526,15 @@ void bt_conn_process_tx(struct bt_conn *conn) { conn_cleanup(conn); return; } - +#if (BFLB_BT_CO_THREAD) + if (tx_buf) + buf = tx_buf; + else + buf = net_buf_get(&conn->tx_queue, K_NO_WAIT); +#else /* Get next ACL packet for connection */ buf = net_buf_get(&conn->tx_queue, K_NO_WAIT); +#endif BT_ASSERT(buf); if (!send_buf(conn, buf)) { net_buf_unref(buf); @@ -1676,7 +1713,7 @@ void bt_conn_set_state(struct bt_conn *conn, bt_conn_state_t state) { } struct bt_conn *bt_conn_lookup_handle(u16_t handle) { - size_t i; + int i; for (i = 0; i < ARRAY_SIZE(conns); i++) { if (!atomic_get(&conns[i].ref)) { @@ -1728,7 +1765,7 @@ int bt_conn_addr_le_cmp(const struct bt_conn *conn, const bt_addr_le_t *peer) { } struct bt_conn *bt_conn_lookup_addr_le(u8_t id, const bt_addr_le_t *peer) { - size_t i; + int i; for (i = 0; i < ARRAY_SIZE(conns); i++) { if (!atomic_get(&conns[i].ref)) { @@ -1748,7 +1785,7 @@ struct bt_conn *bt_conn_lookup_addr_le(u8_t id, const bt_addr_le_t *peer) { } struct bt_conn *bt_conn_lookup_state_le(const bt_addr_le_t *peer, const bt_conn_state_t state) { - size_t i; + int i; for (i = 0; i < ARRAY_SIZE(conns); i++) { if (!atomic_get(&conns[i].ref)) { @@ -1772,7 +1809,7 @@ struct bt_conn *bt_conn_lookup_state_le(const bt_addr_le_t *peer, const bt_conn_ } void bt_conn_foreach(int type, void (*func)(struct bt_conn *conn, void *data), void *data) { - size_t i; + int i; for (i = 0; i < ARRAY_SIZE(conns); i++) { if (!atomic_get(&conns[i].ref)) { @@ -1857,7 +1894,7 @@ int bt_conn_get_info(const struct bt_conn *conn, struct bt_conn_info *info) { int bt_conn_get_remote_dev_info(struct bt_conn_info *info) { int link_num = 0; - for (size_t i = 0; i < ARRAY_SIZE(conns); i++) { + for (int i = 0; i < ARRAY_SIZE(conns); i++) { if (!atomic_get(&conns[i].ref)) { continue; } @@ -2446,14 +2483,22 @@ int bt_conn_init(void) { #if defined(CONFIG_BT_SMP) int err; #endif - size_t i; + int i; #if defined(BFLB_BLE) #if defined(BFLB_DYNAMIC_ALLOC_MEM) +#if (BFLB_STATIC_ALLOC_MEM) + net_buf_init(ACL_TX, &acl_tx_pool, CONFIG_BT_L2CAP_TX_BUF_COUNT, BT_L2CAP_BUF_SIZE(CONFIG_BT_L2CAP_TX_MTU), NULL); +#else net_buf_init(&acl_tx_pool, CONFIG_BT_L2CAP_TX_BUF_COUNT, BT_L2CAP_BUF_SIZE(CONFIG_BT_L2CAP_TX_MTU), NULL); +#endif #if CONFIG_BT_L2CAP_TX_FRAG_COUNT > 0 +#if (BFLB_STATIC_ALLOC_MEM) + net_buf_init(FRAG, &frag_pool, CONFIG_BT_L2CAP_TX_FRAG_COUNT, FRAG_SIZE, NULL); +#else net_buf_init(&frag_pool, CONFIG_BT_L2CAP_TX_FRAG_COUNT, FRAG_SIZE, NULL); #endif +#endif #else // BFLB_DYNAMIC_ALLOC_MEM struct net_buf_pool num_complete_pool; struct net_buf_pool acl_tx_pool; diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/conn_internal.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/conn_internal.h index 180864e3..2ba9a9c8 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/conn_internal.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/conn_internal.h @@ -1,80 +1,65 @@ /** @file * @brief Internal APIs for Bluetooth connection handling. */ -#ifndef BLE_STACK_HOST_CONN_INTERNAL_H_ -#define BLE_STACK_HOST_CONN_INTERNAL_H_ -#include "addr.h" -#include "atomic.h" -#include "slist.h" -#include "types.h" -#include "work_q.h" -#include -#include -#include "conn.h" - - -#ifdef __cplusplus -extern "C" { -#endif /* * Copyright (c) 2015 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ typedef enum __packed { - BT_CONN_DISCONNECTED, - BT_CONN_CONNECT_SCAN, - BT_CONN_CONNECT_DIR_ADV, - BT_CONN_CONNECT, - BT_CONN_CONNECTED, - BT_CONN_DISCONNECT, + BT_CONN_DISCONNECTED, + BT_CONN_CONNECT_SCAN, + BT_CONN_CONNECT_DIR_ADV, + BT_CONN_CONNECT, + BT_CONN_CONNECTED, + BT_CONN_DISCONNECT, } bt_conn_state_t; /* bt_conn flags: the flags defined here represent connection parameters */ enum { - BT_CONN_AUTO_CONNECT, - BT_CONN_BR_LEGACY_SECURE, /* 16 digits legacy PIN tracker */ - BT_CONN_USER, /* user I/O when pairing */ - BT_CONN_BR_PAIRING, /* BR connection in pairing context */ - BT_CONN_BR_NOBOND, /* SSP no bond pairing tracker */ - BT_CONN_BR_PAIRING_INITIATOR, /* local host starts authentication */ - BT_CONN_CLEANUP, /* Disconnected, pending cleanup */ - BT_CONN_AUTO_PHY_UPDATE, /* Auto-update PHY */ - BT_CONN_SLAVE_PARAM_UPDATE, /* If slave param update timer fired */ - BT_CONN_SLAVE_PARAM_SET, /* If slave param were set from app */ - BT_CONN_SLAVE_PARAM_L2CAP, /* If should force L2CAP for CPUP */ - BT_CONN_FORCE_PAIR, /* Pairing even with existing keys. */ + BT_CONN_AUTO_CONNECT, + BT_CONN_BR_LEGACY_SECURE, /* 16 digits legacy PIN tracker */ + BT_CONN_USER, /* user I/O when pairing */ + BT_CONN_BR_PAIRING, /* BR connection in pairing context */ + BT_CONN_BR_NOBOND, /* SSP no bond pairing tracker */ + BT_CONN_BR_PAIRING_INITIATOR, /* local host starts authentication */ + BT_CONN_CLEANUP, /* Disconnected, pending cleanup */ + BT_CONN_AUTO_PHY_UPDATE, /* Auto-update PHY */ + BT_CONN_SLAVE_PARAM_UPDATE, /* If slave param update timer fired */ + BT_CONN_SLAVE_PARAM_SET, /* If slave param were set from app */ + BT_CONN_SLAVE_PARAM_L2CAP, /* If should force L2CAP for CPUP */ + BT_CONN_FORCE_PAIR, /* Pairing even with existing keys. */ - BT_CONN_AUTO_PHY_COMPLETE, /* Auto-initiated PHY procedure done */ - BT_CONN_AUTO_FEATURE_EXCH, /* Auto-initiated LE Feat done */ - BT_CONN_AUTO_VERSION_INFO, /* Auto-initiated LE version done */ + BT_CONN_AUTO_PHY_COMPLETE, /* Auto-initiated PHY procedure done */ + BT_CONN_AUTO_FEATURE_EXCH, /* Auto-initiated LE Feat done */ + BT_CONN_AUTO_VERSION_INFO, /* Auto-initiated LE version done */ - /* Total number of flags - must be at the end of the enum */ - BT_CONN_NUM_FLAGS, + /* Total number of flags - must be at the end of the enum */ + BT_CONN_NUM_FLAGS, }; struct bt_conn_le { - bt_addr_le_t dst; + bt_addr_le_t dst; - bt_addr_le_t init_addr; - bt_addr_le_t resp_addr; + bt_addr_le_t init_addr; + bt_addr_le_t resp_addr; - u16_t interval; - u16_t interval_min; - u16_t interval_max; + u16_t interval; + u16_t interval_min; + u16_t interval_max; - u16_t latency; - u16_t timeout; - u16_t pending_latency; - u16_t pending_timeout; + u16_t latency; + u16_t timeout; + u16_t pending_latency; + u16_t pending_timeout; - u8_t features[8]; + u8_t features[8]; - struct bt_keys *keys; + struct bt_keys *keys; #if defined(CONFIG_BT_STACK_PTS) - u8_t own_adder_type; + u8_t own_adder_type; #endif }; @@ -83,107 +68,107 @@ struct bt_conn_le { #define LMP_MAX_PAGES 2 struct bt_conn_br { - bt_addr_t dst; - u8_t remote_io_capa; - u8_t remote_auth; - u8_t pairing_method; - /* remote LMP features pages per 8 bytes each */ - u8_t features[LMP_MAX_PAGES][8]; + bt_addr_t dst; + u8_t remote_io_capa; + u8_t remote_auth; + u8_t pairing_method; + /* remote LMP features pages per 8 bytes each */ + u8_t features[LMP_MAX_PAGES][8]; - struct bt_keys_link_key *link_key; + struct bt_keys_link_key *link_key; }; struct bt_conn_sco { - /* Reference to ACL Connection */ - struct bt_conn *acl; - u16_t pkt_type; + /* Reference to ACL Connection */ + struct bt_conn *acl; + u16_t pkt_type; }; #endif struct bt_conn_iso { - /* Reference to ACL Connection */ - struct bt_conn *acl; - /* CIG ID */ - uint8_t cig_id; - /* CIS ID */ - uint8_t cis_id; + /* Reference to ACL Connection */ + struct bt_conn *acl; + /* CIG ID */ + uint8_t cig_id; + /* CIS ID */ + uint8_t cis_id; }; typedef void (*bt_conn_tx_cb_t)(struct bt_conn *conn, void *user_data); struct bt_conn_tx { - sys_snode_t node; + sys_snode_t node; - bt_conn_tx_cb_t cb; - void *user_data; + bt_conn_tx_cb_t cb; + void *user_data; - /* Number of pending packets without a callback after this one */ - u32_t pending_no_cb; + /* Number of pending packets without a callback after this one */ + u32_t pending_no_cb; }; struct bt_conn { - u16_t handle; - u8_t type; - u8_t role; + u16_t handle; + u8_t type; + u8_t role; - ATOMIC_DEFINE(flags, BT_CONN_NUM_FLAGS); + ATOMIC_DEFINE(flags, BT_CONN_NUM_FLAGS); - /* Which local identity address this connection uses */ - u8_t id; + /* Which local identity address this connection uses */ + u8_t id; #if defined(CONFIG_BT_SMP) || defined(CONFIG_BT_BREDR) - bt_security_t sec_level; - bt_security_t required_sec_level; - u8_t encrypt; + bt_security_t sec_level; + bt_security_t required_sec_level; + u8_t encrypt; #endif /* CONFIG_BT_SMP || CONFIG_BT_BREDR */ - /* Connection error or reason for disconnect */ - u8_t err; + /* Connection error or reason for disconnect */ + u8_t err; - bt_conn_state_t state; + bt_conn_state_t state; - u16_t rx_len; - struct net_buf *rx; + u16_t rx_len; + struct net_buf *rx; - /* Sent but not acknowledged TX packets with a callback */ - sys_slist_t tx_pending; - /* Sent but not acknowledged TX packets without a callback before - * the next packet (if any) in tx_pending. - */ - u32_t pending_no_cb; + /* Sent but not acknowledged TX packets with a callback */ + sys_slist_t tx_pending; + /* Sent but not acknowledged TX packets without a callback before + * the next packet (if any) in tx_pending. + */ + u32_t pending_no_cb; - /* Completed TX for which we need to call the callback */ - sys_slist_t tx_complete; - struct k_work tx_complete_work; + /* Completed TX for which we need to call the callback */ + sys_slist_t tx_complete; + struct k_work tx_complete_work; - /* Queue for outgoing ACL data */ - struct k_fifo tx_queue; + /* Queue for outgoing ACL data */ + struct k_fifo tx_queue; - /* Active L2CAP channels */ - sys_slist_t channels; + /* Active L2CAP channels */ + sys_slist_t channels; - atomic_t ref; + atomic_t ref; - /* Delayed work for connection update and other deferred tasks */ - struct k_delayed_work update_work; + /* Delayed work for connection update and other deferred tasks */ + struct k_delayed_work update_work; - union { - struct bt_conn_le le; + union { + struct bt_conn_le le; #if defined(CONFIG_BT_BREDR) - struct bt_conn_br br; - struct bt_conn_sco sco; + struct bt_conn_br br; + struct bt_conn_sco sco; #endif #if defined(CONFIG_BT_AUDIO) - struct bt_conn_iso iso; + struct bt_conn_iso iso; #endif - }; + }; #if defined(CONFIG_BT_REMOTE_VERSION) - struct bt_conn_rv { - u8_t version; - u16_t manufacturer; - u16_t subversion; - } rv; + struct bt_conn_rv { + u8_t version; + u16_t manufacturer; + u16_t subversion; + } rv; #endif }; @@ -193,19 +178,23 @@ void bt_conn_reset_rx_state(struct bt_conn *conn); void bt_conn_recv(struct bt_conn *conn, struct net_buf *buf, u8_t flags); /* Send data over a connection */ -int bt_conn_send_cb(struct bt_conn *conn, struct net_buf *buf, bt_conn_tx_cb_t cb, void *user_data); +int bt_conn_send_cb(struct bt_conn *conn, struct net_buf *buf, + bt_conn_tx_cb_t cb, void *user_data); -static inline int bt_conn_send(struct bt_conn *conn, struct net_buf *buf) { return bt_conn_send_cb(conn, buf, NULL, NULL); } +static inline int bt_conn_send(struct bt_conn *conn, struct net_buf *buf) +{ + return bt_conn_send_cb(conn, buf, NULL, NULL); +} /* Add a new LE connection */ struct bt_conn *bt_conn_add_le(u8_t id, const bt_addr_le_t *peer); /** Connection parameters for ISO connections */ struct bt_iso_create_param { - uint8_t id; - uint8_t num_conns; - struct bt_conn **conns; - struct bt_iso_chan **chans; + uint8_t id; + uint8_t num_conns; + struct bt_conn **conns; + struct bt_iso_chan **chans; }; /* Bind ISO connections parameters */ @@ -262,22 +251,27 @@ struct bt_conn *bt_conn_lookup_id(u8_t id); /* Look up a connection state. For BT_ADDR_LE_ANY, returns the first connection * with the specific state */ -struct bt_conn *bt_conn_lookup_state_le(const bt_addr_le_t *peer, const bt_conn_state_t state); +struct bt_conn *bt_conn_lookup_state_le(const bt_addr_le_t *peer, + const bt_conn_state_t state); /* Set connection object in certain state and perform action related to state */ void bt_conn_set_state(struct bt_conn *conn, bt_conn_state_t state); -int bt_conn_le_conn_update(struct bt_conn *conn, const struct bt_le_conn_param *param); +int bt_conn_le_conn_update(struct bt_conn *conn, + const struct bt_le_conn_param *param); void notify_remote_info(struct bt_conn *conn); void notify_le_param_updated(struct bt_conn *conn); +void notify_le_phy_updated(struct bt_conn *conn, u8_t tx_phy, u8_t rx_phy); + bool le_param_req(struct bt_conn *conn, struct bt_le_conn_param *param); #if defined(CONFIG_BT_SMP) /* rand and ediv should be in BT order */ -int bt_conn_le_start_encryption(struct bt_conn *conn, u8_t rand[8], u8_t ediv[2], const u8_t *ltk, size_t len); +int bt_conn_le_start_encryption(struct bt_conn *conn, u8_t rand[8], + u8_t ediv[2], const u8_t *ltk, size_t len); /* Notify higher layers that RPA was resolved */ void bt_conn_identity_resolved(struct bt_conn *conn); @@ -290,27 +284,41 @@ void bt_conn_security_changed(struct bt_conn *conn, enum bt_security_err err); /* Prepare a PDU to be sent over a connection */ #if defined(CONFIG_NET_BUF_LOG) -struct net_buf *bt_conn_create_pdu_timeout_debug(struct net_buf_pool *pool, size_t reserve, s32_t timeout, const char *func, int line); -#define bt_conn_create_pdu_timeout(_pool, _reserve, _timeout) bt_conn_create_pdu_timeout_debug(_pool, _reserve, _timeout, __func__, __LINE__) +struct net_buf *bt_conn_create_pdu_timeout_debug(struct net_buf_pool *pool, + size_t reserve, s32_t timeout, + const char *func, int line); +#define bt_conn_create_pdu_timeout(_pool, _reserve, _timeout) \ + bt_conn_create_pdu_timeout_debug(_pool, _reserve, _timeout, \ + __func__, __LINE__) -#define bt_conn_create_pdu(_pool, _reserve) bt_conn_create_pdu_timeout_debug(_pool, _reserve, K_FOREVER, __func__, __line__) +#define bt_conn_create_pdu(_pool, _reserve) \ + bt_conn_create_pdu_timeout_debug(_pool, _reserve, K_FOREVER, \ + __func__, __line__) #else -struct net_buf *bt_conn_create_pdu_timeout(struct net_buf_pool *pool, size_t reserve, s32_t timeout); +struct net_buf *bt_conn_create_pdu_timeout(struct net_buf_pool *pool, + size_t reserve, s32_t timeout); -#define bt_conn_create_pdu(_pool, _reserve) bt_conn_create_pdu_timeout(_pool, _reserve, K_FOREVER) +#define bt_conn_create_pdu(_pool, _reserve) \ + bt_conn_create_pdu_timeout(_pool, _reserve, K_FOREVER) #endif /* Prepare a PDU to be sent over a connection */ #if defined(CONFIG_NET_BUF_LOG) -struct net_buf *bt_conn_create_frag_timeout_debug(size_t reserve, s32_t timeout, const char *func, int line); +struct net_buf *bt_conn_create_frag_timeout_debug(size_t reserve, s32_t timeout, + const char *func, int line); -#define bt_conn_create_frag_timeout(_reserve, _timeout) bt_conn_create_frag_timeout_debug(_reserve, _timeout, __func__, __LINE__) +#define bt_conn_create_frag_timeout(_reserve, _timeout) \ + bt_conn_create_frag_timeout_debug(_reserve, _timeout, \ + __func__, __LINE__) -#define bt_conn_create_frag(_reserve) bt_conn_create_frag_timeout_debug(_reserve, K_FOREVER, __func__, __LINE__) +#define bt_conn_create_frag(_reserve) \ + bt_conn_create_frag_timeout_debug(_reserve, K_FOREVER, \ + __func__, __LINE__) #else struct net_buf *bt_conn_create_frag_timeout(size_t reserve, s32_t timeout); -#define bt_conn_create_frag(_reserve) bt_conn_create_frag_timeout(_reserve, K_FOREVER) +#define bt_conn_create_frag(_reserve) \ + bt_conn_create_frag_timeout(_reserve, K_FOREVER) #endif /* Initialize connection management */ @@ -320,8 +328,13 @@ int bt_conn_init(void); struct k_sem *bt_conn_get_pkts(struct bt_conn *conn); /* k_poll related helpers for the TX thread */ -int bt_conn_prepare_events(struct k_poll_event events[]); +int bt_conn_prepare_events(struct k_poll_event events[]); + +#if (BFLB_BT_CO_THREAD) +void bt_conn_process_tx(struct bt_conn *conn, struct net_buf *tx_buf); +#else void bt_conn_process_tx(struct bt_conn *conn); +#endif #if defined(BFLB_BLE) /** @brief Get connection handle for a connection. @@ -333,9 +346,3 @@ void bt_conn_process_tx(struct bt_conn *conn); */ int bt_hci_get_conn_handle(const struct bt_conn *conn, u16_t *conn_handle); #endif - -#ifdef __cplusplus -}; -#endif - -#endif //BLE_STACK_HOST_CONN_INTERNAL_H_ \ No newline at end of file diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/ecc.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/ecc.h index f740dc18..10514263 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/ecc.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/ecc.h @@ -8,17 +8,17 @@ /* @brief Container for public key callback */ struct bt_pub_key_cb { - /** @brief Callback type for Public Key generation. - * - * Used to notify of the local public key or that the local key is not - * available (either because of a failure to read it or because it is - * being regenerated). - * - * @param key The local public key, or NULL in case of no key. - */ - void (*func)(const u8_t key[64]); + /** @brief Callback type for Public Key generation. + * + * Used to notify of the local public key or that the local key is not + * available (either because of a failure to read it or because it is + * being regenerated). + * + * @param key The local public key, or NULL in case of no key. + */ + void (*func)(const u8_t key[64]); - struct bt_pub_key_cb *_next; + struct bt_pub_key_cb *_next; }; /* @brief Generate a new Public Key. diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/gatt.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/gatt.c index b972b7d6..43b82d8e 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/gatt.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/gatt.c @@ -18,11 +18,13 @@ #include #if defined(CONFIG_BT_GATT_CACHING) -#include -#include -#include #include #include + +#include + +#include +#include #endif /* CONFIG_BT_GATT_CACHING */ #include #include @@ -48,15 +50,18 @@ extern u8_t event_flag; #define LOG_MODULE_NAME bt_gatt #include "log.h" -#include "att_internal.h" -#include "conn_internal.h" -#include "gatt_internal.h" #include "hci_core.h" + +#include "conn_internal.h" #include "keys.h" #include "l2cap_internal.h" #include "settings.h" #include "smp.h" +#include "att_internal.h" + +#include "gatt_internal.h" + #define SC_TIMEOUT K_MSEC(10) #define CCC_STORE_DELAY K_SECONDS(1) @@ -72,6 +77,13 @@ struct ccc_store { #if defined(CONFIG_BT_GATT_CLIENT) static sys_slist_t subscriptions; +#if defined(BFLB_BLE_NOTIFY_ALL) +bt_notification_all_cb_t gatt_notify_all_cb; +#endif +#if defined(BFLB_BLE_DISCOVER_ONGOING) +uint8_t discover_ongoing = BT_GATT_ITER_STOP; +extern int bt_gatt_discover_continue(struct bt_conn *conn, struct bt_gatt_discover_params *params); +#endif #endif /* CONFIG_BT_GATT_CLIENT */ static const u16_t gap_appearance = CONFIG_BT_DEVICE_APPEARANCE; @@ -480,9 +492,8 @@ static u8_t gen_hash_m(const struct bt_gatt_attr *attr, void *user_data) { ssize_t len; u16_t value; - if (attr->uuid->type != BT_UUID_TYPE_16) { + if (attr->uuid->type != BT_UUID_TYPE_16) return BT_GATT_ITER_CONTINUE; - } u16 = (struct bt_uuid_16 *)attr->uuid; @@ -844,11 +855,9 @@ int service_change_test(struct bt_gatt_indicate_params *params, const struct bt_ params->data = &sc_range[0]; params->len = sizeof(sc_range); - if (bt_gatt_indicate(con, params)) { - /* No connections to indicate */ - return; - } + return bt_gatt_indicate(con, params); } + #endif #if defined(CONFIG_BT_SETTINGS_CCC_STORE_ON_WRITE) @@ -1686,7 +1695,7 @@ static u8_t match_uuid(const struct bt_gatt_attr *attr, void *user_data) { int bt_gatt_notify_cb(struct bt_conn *conn, struct bt_gatt_notify_params *params) { struct notify_data data; const struct bt_gatt_attr *attr; - u16_t handle = 0; + u16_t handle; __ASSERT(params, "invalid parameters\n"); __ASSERT(params->attr, "invalid parameters\n"); @@ -2067,11 +2076,18 @@ bool bt_gatt_is_subscribed(struct bt_conn *conn, const struct bt_gatt_attr *attr } #if defined(CONFIG_BT_GATT_CLIENT) +#if defined(BFLB_BLE_NOTIFY_ALL) +void bt_gatt_register_notification_callback(bt_notification_all_cb_t cb) { gatt_notify_all_cb = cb; } +#endif void bt_gatt_notification(struct bt_conn *conn, u16_t handle, const void *data, u16_t length) { struct bt_gatt_subscribe_params *params, *tmp; BT_DBG("handle 0x%04x length %u", handle, length); - +#if defined(BFLB_BLE_NOTIFY_ALL) + if (gatt_notify_all_cb) { + gatt_notify_all_cb(conn, handle, data, length); + } +#endif SYS_SLIST_FOR_EACH_CONTAINER_SAFE(&subscriptions, params, tmp, node) { if (bt_conn_addr_le_cmp(conn, ¶ms->_peer) || handle != params->value_handle) { continue; @@ -2188,9 +2204,8 @@ int bt_gatt_exchange_mtu(struct bt_conn *conn, struct bt_gatt_exchange_params *p static void gatt_discover_next(struct bt_conn *conn, u16_t last_handle, struct bt_gatt_discover_params *params) { /* Skip if last_handle is not set */ - if (!last_handle) { + if (!last_handle) goto discover; - } /* Continue from the last found handle */ params->start_handle = last_handle; @@ -2207,12 +2222,19 @@ static void gatt_discover_next(struct bt_conn *conn, u16_t last_handle, struct b discover: /* Discover next range */ +#if defined(BFLB_BLE_DISCOVER_ONGOING) + if (!bt_gatt_discover_continue(conn, params)) { +#else if (!bt_gatt_discover(conn, params)) { +#endif return; } done: params->func(conn, NULL, params); +#if defined(BFLB_BLE_DISCOVER_ONGOING) + discover_ongoing = BT_GATT_ITER_STOP; +#endif } static void gatt_find_type_rsp(struct bt_conn *conn, u8_t err, const void *pdu, u16_t length, void *user_data) { @@ -2250,6 +2272,9 @@ static void gatt_find_type_rsp(struct bt_conn *conn, u8_t err, const void *pdu, attr.user_data = &value; if (params->func(conn, &attr, params) == BT_GATT_ITER_STOP) { +#if defined(BFLB_BLE_DISCOVER_ONGOING) + discover_ongoing = BT_GATT_ITER_STOP; +#endif return; } } @@ -2264,6 +2289,9 @@ static void gatt_find_type_rsp(struct bt_conn *conn, u8_t err, const void *pdu, return; done: params->func(conn, NULL, params); +#if defined(BFLB_BLE_DISCOVER_ONGOING) + discover_ongoing = BT_GATT_ITER_STOP; +#endif } static int gatt_find_type(struct bt_conn *conn, struct bt_gatt_discover_params *params) { @@ -2513,9 +2541,8 @@ static u16_t parse_characteristic(struct bt_conn *conn, const void *pdu, struct #if defined(CONFIG_BT_STACK_PTS) if (event_flag != gatt_discover_chara) { /* Skip if UUID is set but doesn't match */ - if (params->uuid && bt_uuid_cmp(&u.uuid, params->uuid)) { + if (params->uuid && bt_uuid_cmp(&u.uuid, params->uuid)) continue; - } } #else /* Skip if UUID is set but doesn't match */ @@ -2550,6 +2577,9 @@ static void gatt_read_type_rsp(struct bt_conn *conn, u8_t err, const void *pdu, if (err) { params->func(conn, NULL, params); +#if defined(BFLB_BLE_DISCOVER_ONGOING) + discover_ongoing = BT_GATT_ITER_STOP; +#endif return; } @@ -2560,6 +2590,9 @@ static void gatt_read_type_rsp(struct bt_conn *conn, u8_t err, const void *pdu, } if (!handle) { +#if defined(BFLB_BLE_DISCOVER_ONGOING) + discover_ongoing = BT_GATT_ITER_STOP; +#endif return; } @@ -2675,11 +2708,17 @@ static void gatt_read_group_rsp(struct bt_conn *conn, u8_t err, const void *pdu, if (err) { params->func(conn, NULL, params); +#if defined(BFLB_BLE_DISCOVER_ONGOING) + discover_ongoing = BT_GATT_ITER_STOP; +#endif return; } handle = parse_service(conn, pdu, params, length); if (!handle) { +#if defined(BFLB_BLE_DISCOVER_ONGOING) + discover_ongoing = BT_GATT_ITER_STOP; +#endif return; } @@ -2804,6 +2843,9 @@ static void gatt_find_info_rsp(struct bt_conn *conn, u8_t err, const void *pdu, attr->handle = handle; if (params->func(conn, attr, params) == BT_GATT_ITER_STOP) { +#if defined(BFLB_BLE_DISCOVER_ONGOING) + discover_ongoing = BT_GATT_ITER_STOP; +#endif return; } } @@ -2814,6 +2856,9 @@ static void gatt_find_info_rsp(struct bt_conn *conn, u8_t err, const void *pdu, done: params->func(conn, NULL, params); +#if defined(BFLB_BLE_DISCOVER_ONGOING) + discover_ongoing = BT_GATT_ITER_STOP; +#endif } static int gatt_find_info(struct bt_conn *conn, struct bt_gatt_discover_params *params) { @@ -2844,6 +2889,16 @@ int bt_gatt_discover(struct bt_conn *conn, struct bt_gatt_discover_params *param return -ENOTCONN; } +#if defined(BFLB_BLE_DISCOVER_ONGOING) + if (discover_ongoing != BT_GATT_ITER_STOP) { + return -EINPROGRESS; + } + discover_ongoing = BT_GATT_ITER_CONTINUE; + + return bt_gatt_discover_continue(conn, params); +} +int bt_gatt_discover_continue(struct bt_conn *conn, struct bt_gatt_discover_params *params) { +#endif switch (params->type) { case BT_GATT_DISCOVER_PRIMARY: case BT_GATT_DISCOVER_SECONDARY: @@ -3131,11 +3186,10 @@ static int gatt_exec_write(struct bt_conn *conn, struct bt_gatt_write_params *pa req = net_buf_add(buf, sizeof(*req)); #if defined(CONFIG_BT_STACK_PTS) - if (event_flag == gatt_cancel_write_req) { + if (event_flag == gatt_cancel_write_req) req->flags = BT_ATT_FLAG_CANCEL; - } else { + else req->flags = BT_ATT_FLAG_EXEC; - } #else req->flags = BT_ATT_FLAG_EXEC; #endif @@ -3514,9 +3568,8 @@ static int ccc_set(const char *name, size_t len_rd, settings_read_cb read_cb, vo #if defined(BFLB_BLE) err = bt_settings_get_bin(key, (u8_t *)ccc_store, CCC_STORE_MAX, &len); - if (err) { + if (err) return err; - } load.addr_with_id.id = id; load.addr_with_id.addr = addr; @@ -3797,9 +3850,8 @@ void bt_gatt_disconnected(struct bt_conn *conn) { #if defined(BFLB_BLE_MTU_CHANGE_CB) void bt_gatt_mtu_changed(struct bt_conn *conn, u16_t mtu) { - if (gatt_mtu_changed_cb) { + if (gatt_mtu_changed_cb) gatt_mtu_changed_cb(conn, (int)mtu); - } } void bt_gatt_register_mtu_callback(bt_gatt_mtu_changed_cb_t cb) { gatt_mtu_changed_cb = cb; } @@ -4062,9 +4114,8 @@ static int sc_set(const char *name, size_t len_rd, settings_read_cb read_cb, voi } err = bt_settings_get_bin(key, (u8_t *)cfg, sizeof(*cfg), NULL); - if (err) { + if (err) memset(cfg, 0, sizeof(*cfg)); - } return err; #else if (!name) { @@ -4230,3 +4281,22 @@ static int db_hash_commit(void) { SETTINGS_STATIC_HANDLER_DEFINE(bt_hash, "bt/hash", NULL, db_hash_set, db_hash_commit, NULL); #endif /*CONFIG_BT_GATT_CACHING */ #endif /* CONFIG_BT_SETTINGS */ + +#if defined(CONFIG_BT_GATT_DYNAMIC_DB) +uint16_t bt_gatt_get_last_handle(void) { + struct bt_gatt_service *last; + u16_t handle, last_handle; + + if (sys_slist_is_empty(&db)) { + handle = last_static_handle; + last_handle = handle; + goto last; + } + + last = SYS_SLIST_PEEK_TAIL_CONTAINER(&db, last, node); + handle = last->attrs[last->attr_count - 1].handle; + last_handle = handle; +last: + return last_handle; +} +#endif diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/hci_core.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/hci_core.c index bfcdc05b..5cce24c2 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/hci_core.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/hci_core.c @@ -45,12 +45,15 @@ #include "smp.h" #if defined(BFLB_BLE) #include "bl_hci_wrapper.h" +#include "ble_lib_api.h" #if defined(BL602) #include "bl602_hbn.h" #elif defined(BL702) #include "bl702_hbn.h" -#elif defined(BL606p) +#elif defined(BL606P) || defined(BL616) #include "bl606p_hbn.h" +#elif defined(BL808) // no bl808_hbn.h currently, comment it out temporarily +#include "bl808_hbn.h" #endif #include "work_q.h" #endif @@ -64,12 +67,18 @@ #define HCI_CMD_TIMEOUT K_SECONDS(10) +extern struct k_fifo recv_fifo; +extern struct k_work_q g_work_queue_main; /* Stacks for the threads */ #if !defined(CONFIG_BT_RECV_IS_RX_THREAD) static struct k_thread rx_thread_data; static K_THREAD_STACK_DEFINE(rx_thread_stack, CONFIG_BT_RX_STACK_SIZE); #endif -#if (!BFLB_BLE_CO_THREAD) +#if (BFLB_BT_CO_THREAD) +struct k_thread co_thread_data; +static void process_events(struct k_poll_event *ev, int count, int total_evt_array_cnt); +static void send_cmd(struct net_buf *tx_buf); +#else static struct k_thread tx_thread_data; #endif #if !defined(BFLB_BLE) @@ -139,6 +148,24 @@ volatile u8_t event_flag = 0; struct blhast_cb *host_assist_cb; #endif +#if (BFLB_BT_CO_THREAD) +#if defined(CONFIG_BT_CONN) +/* command FIFO + conn_change signal +tx queue + rxqueue + workQueue + MAX_CONN */ +#define EV_COUNT (4 + CONFIG_BT_MAX_CONN) +#else +/* command FIFO */ +#define EV_COUNT 2 +#endif +#else +#if defined(CONFIG_BT_CONN) +/* command FIFO + conn_change signal + MAX_CONN */ +#define EV_COUNT (2 + CONFIG_BT_MAX_CONN) +#else +/* command FIFO */ +#define EV_COUNT 1 +#endif +#endif // BFLB_BT_CO_THREAD + struct cmd_state_set { atomic_t *target; int bit; @@ -164,7 +191,9 @@ struct cmd_data { /** The state to update when command completes with success. */ struct cmd_state_set *state; - +#if (BFLB_BT_CO_THREAD) + uint8_t sync_state; +#endif /** Used by bt_hci_cmd_send_sync. */ struct k_sem *sync; }; @@ -184,7 +213,7 @@ struct acl_data { extern struct k_sem g_poll_sem; #endif -static struct cmd_data cmd_data[CONFIG_BT_HCI_CMD_COUNT]; +__attribute__((section(".tcm_data"))) static struct cmd_data cmd_data[CONFIG_BT_HCI_CMD_COUNT]; #define cmd(buf) (&cmd_data[net_buf_id(buf)]) #define acl(buf) ((struct acl_data *)net_buf_user_data(buf)) @@ -220,7 +249,9 @@ struct net_buf_pool discardable_pool; #endif #endif /*!defined(BFLB_DYNAMIC_ALLOC_MEM)*/ +#if defined CONFIG_BT_HFP extern bool hfp_codec_msbc; +#endif struct event_handler { u8_t event; @@ -373,6 +404,43 @@ int bt_hci_cmd_send(u16_t opcode, struct net_buf *buf) { return 0; } +#if (BFLB_BT_CO_THREAD) +struct k_thread *bt_get_co_thread(void) { return &co_thread_data; } + +static void bt_hci_sync_check(struct net_buf *buf) { + static struct k_poll_event events[EV_COUNT] = { + [0] = K_POLL_EVENT_STATIC_INITIALIZER(K_POLL_TYPE_FIFO_DATA_AVAILABLE, K_POLL_MODE_NOTIFY_ONLY, &g_work_queue_main.fifo, BT_EVENT_WORK_QUEUE), + [1] = K_POLL_EVENT_STATIC_INITIALIZER(K_POLL_TYPE_FIFO_DATA_AVAILABLE, K_POLL_MODE_NOTIFY_ONLY, &bt_dev.cmd_tx_queue, BT_EVENT_CMD_TX), + [EV_COUNT - 1] = K_POLL_EVENT_STATIC_INITIALIZER(K_POLL_TYPE_FIFO_DATA_AVAILABLE, K_POLL_MODE_NOTIFY_ONLY, &recv_fifo, BT_EVENT_RX_QUEUE), + }; + + uint32_t time_start = k_uptime_get_32(); + send_cmd(buf); + + while (1) { + int ev_count, err; + u8_t to_process = 0; + + events[0].state = K_POLL_STATE_NOT_READY; + events[1].state = K_POLL_STATE_NOT_READY; + events[EV_COUNT - 1].state = K_POLL_STATE_NOT_READY; + ev_count = 2; + + if (IS_ENABLED(CONFIG_BT_CONN)) { + ev_count += bt_conn_prepare_events(&events[2]); + } + err = k_poll(events, ev_count, EV_COUNT, K_NO_WAIT, &to_process); + BT_ASSERT(err == 0); + if (to_process) + process_events(events, ev_count, EV_COUNT); + + if ((cmd(buf)->sync_state == BT_CMD_SYNC_TX_DONE) || (k_uptime_get_32() - time_start) >= HCI_CMD_TIMEOUT) { + break; + } + } +} +#endif + #if defined(BFLB_HOST_ASSISTANT) extern void blhast_bt_reset(void); uint16_t hci_cmd_to_cnt = 0; @@ -380,6 +448,9 @@ uint16_t hci_cmd_to_cnt = 0; int bt_hci_cmd_send_sync(u16_t opcode, struct net_buf *buf, struct net_buf **rsp) { struct k_sem sync_sem; int err; +#if (BFLB_BT_CO_THREAD) + bool is_bt_co_thread = k_is_current_thread(&co_thread_data); +#endif if (!buf) { buf = bt_hci_cmd_create(opcode, 0); @@ -390,8 +461,19 @@ int bt_hci_cmd_send_sync(u16_t opcode, struct net_buf *buf, struct net_buf **rsp BT_DBG("buf %p opcode 0x%04x len %u", buf, opcode, buf->len); +#if (BFLB_BT_CO_THREAD) + if (is_bt_co_thread) { + cmd(buf)->sync_state = BT_CMD_SYNC_TX; + cmd(buf)->sync = NULL; + } else { + k_sem_init(&sync_sem, 0, 1); + cmd(buf)->sync = &sync_sem; + cmd(buf)->sync_state = BT_CMD_SYNC_NONE; + } +#else k_sem_init(&sync_sem, 0, 1); cmd(buf)->sync = &sync_sem; +#endif #if defined(BFLB_BLE) /*Assign a initial value to status in order to check if hci cmd timeout*/ @@ -401,6 +483,21 @@ int bt_hci_cmd_send_sync(u16_t opcode, struct net_buf *buf, struct net_buf **rsp /* Make sure the buffer stays around until the command completes */ net_buf_ref(buf); +#if (BFLB_BT_CO_THREAD) + if (is_bt_co_thread) + bt_hci_sync_check(buf); + else { + net_buf_put(&bt_dev.cmd_tx_queue, buf); +#if defined(BFLB_BLE) + k_sem_give(&g_poll_sem); +#endif + err = k_sem_take(&sync_sem, HCI_CMD_TIMEOUT); +#ifdef BFLB_BLE_PATCH_FREE_ALLOCATED_BUFFER_IN_OS + k_sem_delete(&sync_sem); +#endif + __ASSERT(err == 0, "k_sem_take failed with err %d", err); + } +#else net_buf_put(&bt_dev.cmd_tx_queue, buf); #if defined(BFLB_BLE) k_sem_give(&g_poll_sem); @@ -410,6 +507,7 @@ int bt_hci_cmd_send_sync(u16_t opcode, struct net_buf *buf, struct net_buf **rsp k_sem_delete(&sync_sem); #endif __ASSERT(err == 0, "k_sem_take failed with err %d", err); +#endif // #if (BFLB_BT_CO_THREAD) BT_DBG("opcode 0x%04x status 0x%02x", opcode, cmd(buf)->status); @@ -646,6 +744,10 @@ static int le_set_non_resolv_private_addr(u8_t id) { bt_addr_t nrpa; int err; + if (atomic_test_bit(bt_dev.flags, BT_DEV_SETTED_NON_RESOLV_ADDR)) { + return 0; + } + err = bt_rand(nrpa.val, sizeof(nrpa.val)); if (err) { return err; @@ -656,6 +758,19 @@ static int le_set_non_resolv_private_addr(u8_t id) { return set_random_address(&nrpa); } +int le_set_non_resolv_private_addr_ext(u8_t id, bt_addr_t *addr) { + bt_addr_t *nrpa = addr; + int err; + + err = bt_rand(nrpa->val, sizeof(nrpa->val)); + if (err) { + return err; + } + + nrpa->val[5] &= 0x3f; + atomic_clear_bit(bt_dev.flags, BT_DEV_RPA_VALID); + return set_random_address(nrpa); +} #endif #else @@ -1059,6 +1174,9 @@ static void hci_disconn_complete(struct net_buf *buf) { } #endif bt_conn_unref(conn); +#if defined(CONFIG_BT_BREDR) + notify_disconnected(conn); +#endif return; } @@ -1079,6 +1197,10 @@ static void hci_disconn_complete(struct net_buf *buf) { hci_release_conn_related_cmd(); #endif +#if defined(BFLB_BLE) + notify_disconnected(conn); +#endif + #if defined(CONFIG_BLE_RECONNECT_TEST) if (conn->role == BT_CONN_ROLE_MASTER) { struct bt_le_conn_param param = { @@ -1089,9 +1211,9 @@ static void hci_disconn_complete(struct net_buf *buf) { }; if (bt_conn_create_le(&conn->le.dst, ¶m)) { - printf("Reconnecting. \n"); + BT_DBG("Reconnecting. \n"); } else { - printf("Reconnect fail. \n"); + BT_DBG("Reconnect fail. \n"); } } #endif @@ -1177,7 +1299,7 @@ int bt_le_set_data_len(struct bt_conn *conn, u16_t tx_octets, u16_t tx_time) { return bt_hci_cmd_send(BT_HCI_OP_LE_SET_DATA_LEN, buf); } -int hci_le_set_phy(struct bt_conn *conn) { +int hci_le_set_phy(struct bt_conn *conn, uint8_t all_phys, uint8_t pref_tx_phy, uint8_t pref_rx_phy, uint8_t phy_opts) { struct bt_hci_cp_le_set_phy *cp; struct net_buf *buf; @@ -1188,16 +1310,15 @@ int hci_le_set_phy(struct bt_conn *conn) { cp = net_buf_add(buf, sizeof(*cp)); cp->handle = sys_cpu_to_le16(conn->handle); - cp->all_phys = 0U; - cp->tx_phys = BT_HCI_LE_PHY_PREFER_2M; - cp->rx_phys = BT_HCI_LE_PHY_PREFER_2M; - cp->phy_opts = BT_HCI_LE_PHY_CODED_ANY; - bt_hci_cmd_send(BT_HCI_OP_LE_SET_PHY, buf); + cp->all_phys = all_phys; + cp->tx_phys = pref_tx_phy; + cp->rx_phys = pref_rx_phy; + cp->phy_opts = phy_opts; - return 0; + return bt_hci_cmd_send(BT_HCI_OP_LE_SET_PHY, buf); } -int hci_le_set_default_phy(struct bt_conn *conn, u8_t default_phy) { +int hci_le_set_default_phy(u8_t default_phy) { struct bt_hci_cp_le_set_default_phy *cp; struct net_buf *buf; @@ -1390,11 +1511,10 @@ static void enh_conn_complete(struct bt_hci_evt_le_enh_conn_complete *evt) { if (IS_ENABLED(CONFIG_BT_PRIVACY)) { #if defined(BFLB_BLE_PATCH_DHKEY_CHECK_FAILED) - if (memcmp(&evt->local_rpa, BT_ADDR_ANY, sizeof(bt_addr_t))) { + if (memcmp(&evt->local_rpa, BT_ADDR_ANY, sizeof(bt_addr_t))) bt_addr_copy(&conn->le.resp_addr.a, &evt->local_rpa); - } else { + else bt_addr_copy(&conn->le.resp_addr.a, &bt_dev.random_addr.a); - } #else bt_addr_copy(&conn->le.resp_addr.a, &evt->local_rpa); #endif @@ -1433,11 +1553,10 @@ static void enh_conn_complete(struct bt_hci_evt_le_enh_conn_complete *evt) { if (IS_ENABLED(CONFIG_BT_PRIVACY)) { #if defined(BFLB_BLE_PATCH_DHKEY_CHECK_FAILED) - if (memcmp(&evt->local_rpa, BT_ADDR_ANY, sizeof(bt_addr_t))) { + if (memcmp(&evt->local_rpa, BT_ADDR_ANY, sizeof(bt_addr_t))) bt_addr_copy(&conn->le.init_addr.a, &evt->local_rpa); - } else { + else bt_addr_copy(&conn->le.init_addr.a, &bt_dev.random_addr.a); - } #else bt_addr_copy(&conn->le.init_addr.a, &evt->local_rpa); #endif @@ -1472,7 +1591,7 @@ static void enh_conn_complete(struct bt_hci_evt_le_enh_conn_complete *evt) { } if (IS_ENABLED(CONFIG_BT_AUTO_PHY_UPDATE) && BT_FEAT_LE_PHY_2M(bt_dev.le.features)) { - err = hci_le_set_phy(conn); + err = hci_le_set_phy(conn, 0U, BT_HCI_LE_PHY_PREFER_2M, BT_HCI_LE_PHY_PREFER_2M, BT_HCI_LE_PHY_CODED_ANY); if (!err) { atomic_set_bit(conn->flags, BT_CONN_AUTO_PHY_UPDATE); goto done; @@ -1554,7 +1673,7 @@ static void le_remote_feat_complete(struct net_buf *buf) { if (IS_ENABLED(CONFIG_BT_AUTO_PHY_UPDATE) && BT_FEAT_LE_PHY_2M(bt_dev.le.features) && BT_FEAT_LE_PHY_2M(conn->le.features)) { int err; - err = hci_le_set_phy(conn); + err = hci_le_set_phy(conn, 0U, BT_HCI_LE_PHY_PREFER_2M, BT_HCI_LE_PHY_PREFER_2M, BT_HCI_LE_PHY_CODED_ANY); if (!err) { atomic_set_bit(conn->flags, BT_CONN_AUTO_PHY_UPDATE); goto done; @@ -1617,6 +1736,8 @@ static void le_phy_update_complete(struct net_buf *buf) { BT_DBG("PHY updated: status: 0x%02x, tx: %u, rx: %u", evt->status, evt->tx_phy, evt->rx_phy); + notify_le_phy_updated(conn, evt->tx_phy, evt->rx_phy); + if (!IS_ENABLED(CONFIG_BT_AUTO_PHY_UPDATE) || !atomic_test_and_clear_bit(conn->flags, BT_CONN_AUTO_PHY_UPDATE)) { goto done; } @@ -1968,20 +2089,19 @@ static int accept_sco_conn(const bt_addr_t *bdaddr, struct bt_conn *sco_conn) { bt_addr_copy(&cp->bdaddr, bdaddr); cp->pkt_type = sco_conn->sco.pkt_type; - cp->tx_bandwidth = 0x00001f40; - cp->rx_bandwidth = 0x00001f40; + cp->tx_bandwidth = 0x00001f40; + cp->rx_bandwidth = 0x00001f40; + cp->max_latency = 0x0007; + cp->retrans_effort = 0x01; + cp->content_format = BT_VOICE_CVSD_16BIT; +#if defined CONFIG_BT_HFP if (!hfp_codec_msbc) { - cp->max_latency = 0x0007; - cp->retrans_effort = 0x01; - cp->content_format = BT_VOICE_CVSD_16BIT; - BT_DBG("eSCO air coding CVSD!"); - } else { cp->max_latency = 0x000d; cp->retrans_effort = 0x02; cp->content_format = BT_VOICE_MSBC_16BIT; BT_DBG("eSCO air coding mSBC!"); } - +#endif err = bt_hci_cmd_send_sync(BT_HCI_OP_ACCEPT_SYNC_CONN_REQ, buf, NULL); if (err) { return err; @@ -2548,6 +2668,22 @@ static int request_name(const bt_addr_t *addr, u8_t pscan, u16_t offset) { return bt_hci_cmd_send_sync(BT_HCI_OP_REMOTE_NAME_REQUEST, buf, NULL); } +bredr_name_callback name_callback = NULL; +int remote_name_req(const bt_addr_t *addr, bredr_name_callback cb) { + u8_t pscan = 0x01; + u16_t clock_offset = 0x00; + + name_callback = cb; + + return request_name(addr, pscan, clock_offset); +} + +void remote_name_complete(u8_t *name) { + if (name_callback) { + name_callback((const char *)name); + } +} + #define EIR_SHORT_NAME 0x08 #define EIR_COMPLETE_NAME 0x09 @@ -2749,6 +2885,11 @@ static void remote_name_request_complete(struct net_buf *buf) { int eir_len = 240; u8_t *eir; int i; + BT_DBG("remote name:%s", evt->name); + + if (evt->name) { + remote_name_complete(evt->name); + } result = get_result_slot(&evt->bdaddr, 0xff); if (!result) { @@ -3497,11 +3638,21 @@ static void hci_cmd_done(u16_t opcode, u8_t status, struct net_buf *buf) { atomic_set_bit_to(update->target, update->bit, update->val); } +#if (BFLB_BT_CO_THREAD) /* If the command was synchronous wake up bt_hci_cmd_send_sync() */ + if (cmd(buf)->sync || cmd(buf)->sync_state) { + cmd(buf)->status = status; + if (cmd(buf)->sync_state) + cmd(buf)->sync_state = BT_CMD_SYNC_TX_DONE; + else + k_sem_give(cmd(buf)->sync); + } +#else if (cmd(buf)->sync) { cmd(buf)->status = status; k_sem_give(cmd(buf)->sync); } +#endif // BFLB_BT_CO_THREAD } static void hci_cmd_complete(struct net_buf *buf) { @@ -3638,24 +3789,21 @@ static int start_le_scan_with_isrpa(u8_t scan_type, u16_t interval, u16_t window set_param.filter_policy = 0x00; if (IS_ENABLED(CONFIG_BT_PRIVACY)) { - if (addre_type == 1) { + if (addre_type == 1) err = le_set_private_addr(BT_ID_DEFAULT); - } else if (addre_type == 0) { + else if (addre_type == 0) err = le_set_non_resolv_private_addr(BT_ID_DEFAULT); - } if (err) { return err; } if (BT_FEAT_LE_PRIVACY(bt_dev.le.features)) { - if (addre_type == 2) { + if (addre_type == 2) set_param.addr_type = BT_ADDR_LE_PUBLIC; - } - if (addre_type == 1) { + if (addre_type == 1) set_param.addr_type = BT_HCI_OWN_ADDR_RPA_OR_RANDOM; - } else if (addre_type == 0) { + else if (addre_type == 0) set_param.addr_type = BT_ADDR_LE_RANDOM; - } } else { set_param.addr_type = BT_ADDR_LE_RANDOM; } @@ -3941,13 +4089,26 @@ static void hci_event(struct net_buf *buf) { net_buf_unref(buf); } -static void send_cmd(void) { +#if (BFLB_BT_CO_THREAD) +static void send_cmd(struct net_buf *tx_buf) +#else +static void send_cmd(void) +#endif +{ struct net_buf *buf; int err; +#if (BFLB_BT_CO_THREAD) + if (tx_buf) { + buf = tx_buf; + } else { + buf = net_buf_get(&bt_dev.cmd_tx_queue, K_NO_WAIT); + } +#else /* Get next command */ BT_DBG("calling net_buf_get"); buf = net_buf_get(&bt_dev.cmd_tx_queue, K_NO_WAIT); +#endif BT_ASSERT(buf); /* Wait until ncmd > 0 */ @@ -3976,24 +4137,61 @@ static void send_cmd(void) { } } -static void process_events(struct k_poll_event *ev, int count) { +#if (BFLB_BT_CO_THREAD) +static void handle_rx_queue(void) { + struct net_buf *buf = NULL; + buf = net_buf_get(&recv_fifo, K_NO_WAIT); + if (buf) { + BT_DBG("Calling bt_recv(%p)", buf); + bt_recv(buf); + } +} +#endif + +#if (BFLB_BT_CO_THREAD) +static void process_events(struct k_poll_event *ev, int count, int total_evt_array_cnt) +#else +static void process_events(struct k_poll_event *ev, int count) +#endif +{ BT_DBG("count %d", count); - +#if (BFLB_BT_CO_THREAD) + for (int ii = 0; ii < total_evt_array_cnt; ev++, ii++) { + if (ii >= count && ii != total_evt_array_cnt - 1) + continue; +#else for (; count; ev++, count--) { +#endif BT_DBG("ev->state %u", ev->state); - switch (ev->state) { case K_POLL_STATE_SIGNALED: break; case K_POLL_STATE_FIFO_DATA_AVAILABLE: if (ev->tag == BT_EVENT_CMD_TX) { +#if (BFLB_BT_CO_THREAD) + send_cmd(NULL); +#else send_cmd(); - } else if (IS_ENABLED(CONFIG_BT_CONN)) { +#endif + } +#if (BFLB_BT_CO_THREAD) + else if (ev->tag == BT_EVENT_RX_QUEUE) { + handle_rx_queue(); + } else if (ev->tag == BT_EVENT_WORK_QUEUE) { + extern void handle_work_queue(void); + handle_work_queue(); + } +#endif + else if (IS_ENABLED(CONFIG_BT_CONN)) { struct bt_conn *conn; if (ev->tag == BT_EVENT_CONN_TX_QUEUE) { conn = CONTAINER_OF(ev->fifo, struct bt_conn, tx_queue); +#if (BFLB_BT_CO_THREAD) + bt_conn_process_tx(conn, NULL); +#else bt_conn_process_tx(conn); +#endif } } break; @@ -4006,36 +4204,46 @@ static void process_events(struct k_poll_event *ev, int count) { } } -#if defined(CONFIG_BT_CONN) -/* command FIFO + conn_change signal + MAX_CONN */ -#define EV_COUNT (2 + CONFIG_BT_MAX_CONN) -#else -/* command FIFO */ -#define EV_COUNT 1 -#endif - -#if defined(BFLB_BLE) -#if (BFLB_BLE_CO_THREAD) -void co_tx_thread() { +#if (BFLB_BT_CO_THREAD) +static void bt_co_thread(void *p1, void *p2, void *p3) { static struct k_poll_event events[EV_COUNT] = { - K_POLL_EVENT_STATIC_INITIALIZER(K_POLL_TYPE_FIFO_DATA_AVAILABLE, K_POLL_MODE_NOTIFY_ONLY, &bt_dev.cmd_tx_queue, BT_EVENT_CMD_TX), + + [0] = K_POLL_EVENT_STATIC_INITIALIZER(K_POLL_TYPE_FIFO_DATA_AVAILABLE, K_POLL_MODE_NOTIFY_ONLY, &g_work_queue_main.fifo, BT_EVENT_WORK_QUEUE), + [1] = K_POLL_EVENT_STATIC_INITIALIZER(K_POLL_TYPE_FIFO_DATA_AVAILABLE, K_POLL_MODE_NOTIFY_ONLY, &bt_dev.cmd_tx_queue, BT_EVENT_CMD_TX), + [EV_COUNT - 1] = K_POLL_EVENT_STATIC_INITIALIZER(K_POLL_TYPE_FIFO_DATA_AVAILABLE, K_POLL_MODE_NOTIFY_ONLY, &recv_fifo, BT_EVENT_RX_QUEUE), }; - if (k_sem_count_get(&g_poll_sem) > 0) { + BT_DBG("Started"); + + while (1) { int ev_count, err; - events[0].state = K_POLL_STATE_NOT_READY; - ev_count = 1; + + events[0].state = K_POLL_STATE_NOT_READY; + events[1].state = K_POLL_STATE_NOT_READY; + events[EV_COUNT - 1].state = K_POLL_STATE_NOT_READY; + ev_count = 2; if (IS_ENABLED(CONFIG_BT_CONN)) { - ev_count += bt_conn_prepare_events(&events[1]); + ev_count += bt_conn_prepare_events(&events[2]); } - err = k_poll(events, ev_count, K_NO_WAIT); - process_events(events, ev_count); + BT_DBG("Calling k_poll with %d events", ev_count); + + err = k_poll(events, ev_count, EV_COUNT, K_FOREVER, NULL); + + BT_ASSERT(err == 0); + + process_events(events, ev_count, EV_COUNT); + + /* Make sure we don't hog the CPU if there's all the time + * some ready events. + */ + k_yield(); } } -#endif +#else +#if defined(BFLB_BLE) static void hci_tx_thread(void *p1) #else static void hci_tx_thread(void *p1, void *p2, void *p3) @@ -4070,6 +4278,7 @@ static void hci_tx_thread(void *p1, void *p2, void *p3) k_yield(); } } +#endif // BFLB_BT_CO_THREAD static void read_local_ver_complete(struct net_buf *buf) { struct bt_hci_rp_read_local_version_info *rp = (void *)buf->data; @@ -4535,11 +4744,15 @@ void device_supported_pkt_type(void) { } static int br_init(void) { - struct net_buf *buf; - struct bt_hci_cp_write_ssp_mode *ssp_cp; - struct bt_hci_cp_write_inquiry_mode *inq_cp; - struct bt_hci_write_local_name *name_cp; - int err; + struct net_buf *buf; + struct bt_hci_cp_write_ssp_mode *ssp_cp; + struct bt_hci_cp_write_class_of_device *cod_cp; + struct bt_hci_cp_write_inquiry_scan_activity *inq_scan_act_cp; + struct bt_hci_cp_write_inquiry_scan_type *inq_scan_cp; + struct bt_hci_cp_write_page_scan_type *page_scan_cp; + struct bt_hci_cp_write_inquiry_mode *inq_cp; + struct bt_hci_write_local_name *name_cp; + int err; /* Read extended local features */ if (BT_FEAT_EXT_FEATURES(bt_dev.features)) { @@ -4574,6 +4787,60 @@ static int br_init(void) { return err; } + /* Write Class of Device */ + buf = bt_hci_cmd_create(BT_HCI_OP_WRITE_CLASS_OF_DEVICE, sizeof(*cod_cp)); + if (!buf) { + return -ENOBUFS; + } + + cod_cp = net_buf_add(buf, sizeof(*cod_cp)); + u8_t cd[3] = {0x14, 0x04, 0x24}; + memcpy(cod_cp->cod, cd, 3); + err = bt_hci_cmd_send_sync(BT_HCI_OP_WRITE_CLASS_OF_DEVICE, buf, NULL); + if (err) { + return err; + } + + /* Write Inquiry Scan Activity */ + buf = bt_hci_cmd_create(BT_HCI_OP_WRITE_INQUIRY_SCAN_ACTIVITY, sizeof(*inq_scan_act_cp)); + if (!buf) { + return -ENOBUFS; + } + + inq_scan_act_cp = net_buf_add(buf, sizeof(*inq_scan_act_cp)); + inq_scan_act_cp->interval = 0x0400; + inq_scan_act_cp->window = 0x0012; + err = bt_hci_cmd_send_sync(BT_HCI_OP_WRITE_INQUIRY_SCAN_ACTIVITY, buf, NULL); + if (err) { + return err; + } + + /* Write Inquiry Scan type with Interlaced */ + buf = bt_hci_cmd_create(BT_HCI_OP_WRITE_INQUIRY_SCAN_TYPE, sizeof(*inq_scan_cp)); + if (!buf) { + return -ENOBUFS; + } + + inq_scan_cp = net_buf_add(buf, sizeof(*inq_scan_cp)); + inq_scan_cp->type = 0x01; + err = bt_hci_cmd_send_sync(BT_HCI_OP_WRITE_INQUIRY_SCAN_TYPE, buf, NULL); + if (err) { + return err; + } + + /* Write Page Scan type with Interlaced */ + buf = bt_hci_cmd_create(BT_HCI_OP_WRITE_PAGE_SCAN_TYPE, sizeof(*page_scan_cp)); + if (!buf) { + return -ENOBUFS; + } + + page_scan_cp = net_buf_add(buf, sizeof(*page_scan_cp)); + page_scan_cp->type = 0x01; + err = bt_hci_cmd_send_sync(BT_HCI_OP_WRITE_PAGE_SCAN_TYPE, buf, NULL); + if (err) { + return err; + } + /* Enable Inquiry results with RSSI or extended Inquiry */ buf = bt_hci_cmd_create(BT_HCI_OP_WRITE_INQUIRY_MODE, sizeof(*inq_cp)); if (!buf) { @@ -4973,11 +5240,11 @@ int bt_recv(struct net_buf *buf) { } static const struct event_handler prio_events[] = { - EVENT_HANDLER(BT_HCI_EVT_CMD_COMPLETE, hci_cmd_complete, sizeof(struct bt_hci_evt_cmd_complete)), - EVENT_HANDLER(BT_HCI_EVT_CMD_STATUS, hci_cmd_status, sizeof(struct bt_hci_evt_cmd_status)), + EVENT_HANDLER(BT_HCI_EVT_CMD_COMPLETE, hci_cmd_complete, sizeof(struct bt_hci_evt_cmd_complete)), + EVENT_HANDLER(BT_HCI_EVT_CMD_STATUS, hci_cmd_status, sizeof(struct bt_hci_evt_cmd_status)), #if defined(CONFIG_BT_CONN) - EVENT_HANDLER(BT_HCI_EVT_DATA_BUF_OVERFLOW, hci_data_buf_overflow, sizeof(struct bt_hci_evt_data_buf_overflow)), - EVENT_HANDLER(BT_HCI_EVT_NUM_COMPLETED_PACKETS, hci_num_completed_packets, sizeof(struct bt_hci_evt_num_completed_packets)), + EVENT_HANDLER(BT_HCI_EVT_DATA_BUF_OVERFLOW, hci_data_buf_overflow, sizeof(struct bt_hci_evt_data_buf_overflow)), + EVENT_HANDLER(BT_HCI_EVT_NUM_COMPLETED_PACKETS, hci_num_completed_packets, sizeof(struct bt_hci_evt_num_completed_packets)), #endif /* CONFIG_BT_CONN */ }; @@ -5029,9 +5296,8 @@ static int irk_init(void) { int err; /*local irk has been loaded from flash in bt_enable, check if irk is null*/ memset(empty_irk, 0, 16); - if (memcmp(bt_dev.irk[0], empty_irk, 16) != 0) { + if (memcmp(bt_dev.irk[0], empty_irk, 16) != 0) return 0; - } err = bt_rand(&bt_dev.irk[0], 16); @@ -5077,9 +5343,8 @@ static int bt_init(void) { char empty_name[CONFIG_BT_DEVICE_NAME_MAX]; memset(empty_name, 0, CONFIG_BT_DEVICE_NAME_MAX); - if (!memcmp(bt_dev.name, empty_name, CONFIG_BT_DEVICE_NAME_MAX)) { + if (!memcmp(bt_dev.name, empty_name, CONFIG_BT_DEVICE_NAME_MAX)) bt_set_name(CONFIG_BT_DEVICE_NAME); - } #endif #if defined(BFLB_BLE) @@ -5122,9 +5387,8 @@ static int bt_init(void) { if (HBN_Get_Status_Flag() == 0) #endif { - if (!bt_keys_load()) { + if (!bt_keys_load()) keys_commit(); - } } #endif #endif // CONFIG_BT_SMP @@ -5199,21 +5463,42 @@ int bt_enable(bt_ready_cb_t cb) { #if defined(BFLB_BLE) #if defined(BFLB_DYNAMIC_ALLOC_MEM) +#if (BFLB_STATIC_ALLOC_MEM) + net_buf_init(HCI_CMD, &hci_cmd_pool, CONFIG_BT_HCI_CMD_COUNT, CMD_BUF_SIZE, NULL); + net_buf_init(HCI_RX, &hci_rx_pool, CONFIG_BT_RX_BUF_COUNT, BT_BUF_RX_SIZE, NULL); +#else net_buf_init(&hci_cmd_pool, CONFIG_BT_HCI_CMD_COUNT, CMD_BUF_SIZE, NULL); net_buf_init(&hci_rx_pool, CONFIG_BT_RX_BUF_COUNT, BT_BUF_RX_SIZE, NULL); +#endif #if defined(CONFIG_BT_CONN) +#if (BFLB_STATIC_ALLOC_MEM) + net_buf_init(NUM_COMPLETE, &num_complete_pool, 1, BT_BUF_RX_SIZE, NULL); +#else net_buf_init(&num_complete_pool, 1, BT_BUF_RX_SIZE, NULL); +#endif #if defined(CONFIG_BT_HCI_ACL_FLOW_CONTROL) +#if (BFLB_STATIC_ALLOC_MEM) + net_buf_init(ACL_IN, &acl_in_pool, CONFIG_BT_ACL_RX_COUNT, ACL_IN_SIZE, report_completed_packet); +#else net_buf_init(&acl_in_pool, CONFIG_BT_ACL_RX_COUNT, ACL_IN_SIZE, report_completed_packet); +#endif #endif // CONFIG_BT_HCI_ACL_FLOW_CONTROL #endif // CONFIG_BT_CONN #if defined(CONFIG_BT_DISCARDABLE_BUF_COUNT) +#if (BFLB_STATIC_ALLOC_MEM) + net_buf_init(DISCARDABLE, &discardable_pool, CONFIG_BT_DISCARDABLE_BUF_COUNT, BT_BUF_RX_SIZE, NULL); +#else net_buf_init(&discardable_pool, CONFIG_BT_DISCARDABLE_BUF_COUNT, BT_BUF_RX_SIZE, NULL); #endif +#endif #endif k_work_init(&bt_dev.init, init_work); +#if (BFLB_BT_CO_THREAD) + k_fifo_init(&g_work_queue_main.fifo, 20); +#else k_work_q_start(); +#endif #if !defined(CONFIG_BT_WAIT_NOP) k_sem_init(&bt_dev.ncmd_sem, 1, 1); #else @@ -5225,6 +5510,10 @@ int bt_enable(bt_ready_cb_t cb) { #endif k_sem_init(&g_poll_sem, 0, 1); +#if (BFLB_BT_CO_THREAD) + // need to initialize recv_fifo before create bt_co_thread + k_fifo_init(&recv_fifo, 20); +#endif #endif #if defined(BFLB_BLE_PATCH_SETTINGS_LOAD) @@ -5251,7 +5540,9 @@ int bt_enable(bt_ready_cb_t cb) { /* TX thread */ #if defined(BFLB_BLE) -#if (!BFLB_BLE_CO_THREAD) +#if (BFLB_BT_CO_THREAD) + k_thread_create(&co_thread_data, "bt_co_thread", CONFIG_BT_CO_STACK_SIZE, bt_co_thread, CONFIG_BT_CO_TASK_PRIO); +#else k_thread_create(&tx_thread_data, "hci_tx_thread", CONFIG_BT_HCI_TX_STACK_SIZE, hci_tx_thread, CONFIG_BT_HCI_TX_PRIO); #endif #else @@ -5305,9 +5596,7 @@ bool le_check_valid_scan(void) { return atomic_test_bit(bt_dev.flags, BT_DEV_EXP #if defined(BFLB_DISABLE_BT) extern struct k_thread recv_thread_data; extern struct k_thread work_q_thread; -extern struct k_fifo recv_fifo; extern struct k_fifo free_tx; -extern struct k_work_q g_work_queue_main; #if defined(CONFIG_BT_SMP) extern struct k_sem sc_local_pkey_ready; #endif @@ -5329,37 +5618,36 @@ extern struct net_buf_pool prep_pool; #if defined(CONFIG_BT_BREDR) extern struct net_buf_pool br_sig_pool; extern struct net_buf_pool sdp_pool; +#if defined CONFIG_BT_HFP extern struct net_buf_pool hf_pool; extern struct net_buf_pool dummy_pool; #endif #endif +#endif int bt_disable_action(void) { #if defined(CONFIG_BT_PRIVACY) k_delayed_work_del_timer(&bt_dev.rpa_update); #endif - +#if defined(CONFIG_BT_CONN) bt_gatt_deinit(); - - // delete task - k_thread_delete(&tx_thread_data); - k_thread_delete(&recv_thread_data); - k_thread_delete(&work_q_thread); - +#endif // delete queue, not delete hci_cmd_pool.free/hci_rx_pool.free/acl_tx_pool.free which store released buffers. bt_delete_queue(&recv_fifo); bt_delete_queue(&g_work_queue_main.fifo); bt_delete_queue(&bt_dev.cmd_tx_queue); - +#if defined(CONFIG_BT_CONN) k_queue_free((struct k_queue *)&free_tx); - +#endif // delete sem k_sem_delete(&bt_dev.ncmd_sem); k_sem_delete(&g_poll_sem); #if defined(CONFIG_BT_SMP) k_sem_delete(&sc_local_pkey_ready); #endif +#if defined(CONFIG_BT_CONN) k_sem_delete(&bt_dev.le.pkts); +#endif atomic_clear_bit(bt_dev.flags, BT_DEV_ENABLE); @@ -5381,9 +5669,11 @@ int bt_disable_action(void) { #if defined(CONFIG_BT_BREDR) net_buf_deinit(&br_sig_pool); net_buf_deinit(&sdp_pool); +#if defined CONFIG_BT_HFP net_buf_deinit(&hf_pool); net_buf_deinit(&dummy_pool); #endif +#endif #endif // defined(CONFIG_BT_CONN) #if defined(CONFIG_BT_DISCARDABLE_BUF_COUNT) net_buf_deinit(&discardable_pool); @@ -5392,25 +5682,35 @@ int bt_disable_action(void) { bl_onchiphci_interface_deinit(); - extern void ble_controller_deinit(void); + // delete task ble_controller_deinit(); +#if (BFLB_BT_CO_THREAD) + k_thread_delete(&co_thread_data); +#else + k_thread_delete(&tx_thread_data); + k_thread_delete(&work_q_thread); + k_thread_delete(&recv_thread_data); +#endif return 0; } int bt_disable(void) { - if (le_check_valid_conn() || atomic_test_bit(bt_dev.flags, BT_DEV_EXPLICIT_SCAN) || atomic_test_bit(bt_dev.flags, BT_DEV_ADVERTISING)) { + if ( +#if defined(CONFIG_BT_CONN) + le_check_valid_conn() || +#endif + atomic_test_bit(bt_dev.flags, BT_DEV_EXPLICIT_SCAN) || atomic_test_bit(bt_dev.flags, BT_DEV_ADVERTISING)) { return -1; - } else { + } else return bt_disable_action(); - } } #endif static int set_ad(u16_t hci_op, const struct bt_ad *ad, size_t ad_len) { struct bt_hci_cp_le_set_adv_data *set_data; struct net_buf *buf; - size_t c, i; + int c, i; buf = bt_hci_cmd_create(hci_op, sizeof(*set_data)); if (!buf) { @@ -5920,12 +6220,11 @@ int bt_le_adv_start_internal(const struct bt_le_adv_param *param, const struct b if (param->options & BT_LE_ADV_OPT_CONNECTABLE) { if (IS_ENABLED(CONFIG_BT_PRIVACY) && !(param->options & BT_LE_ADV_OPT_USE_IDENTITY)) { -#if defined(CONFIG_BT_STACK_PTS) - if (param->addr_type == BT_ADDR_TYPE_RPA) { +#if defined(CONFIG_BT_STACK_PTS) || defined(CONFIG_AUTO_PTS) + if (param->addr_type == BT_ADDR_LE_RANDOM_ID) err = le_set_private_addr(param->id); - } else if (param->addr_type == BT_ADDR_TYPE_NON_RPA) { + else if (param->addr_type == BT_ADDR_LE_RANDOM) err = le_set_non_resolv_private_addr(param->id); - } #else err = le_set_private_addr(param->id); #endif @@ -5934,15 +6233,8 @@ int bt_le_adv_start_internal(const struct bt_le_adv_param *param, const struct b } if (BT_FEAT_LE_PRIVACY(bt_dev.le.features)) { -#if defined(CONFIG_BT_STACK_PTS) - if (param->addr_type == BT_ADDR_LE_PUBLIC) { - set_param.own_addr_type = BT_ADDR_LE_PUBLIC; - } - if (param->addr_type == BT_ADDR_TYPE_RPA) { - set_param.own_addr_type = BT_HCI_OWN_ADDR_RPA_OR_RANDOM; - } else if (param->addr_type == BT_ADDR_TYPE_NON_RPA) { - set_param.own_addr_type = BT_ADDR_LE_RANDOM; - } +#if defined(CONFIG_BT_STACK_PTS) || defined(CONFIG_AUTO_PTS) + set_param.own_addr_type = param->addr_type; #else set_param.own_addr_type = BT_HCI_OWN_ADDR_RPA_OR_RANDOM; #endif @@ -5993,26 +6285,24 @@ int bt_le_adv_start_internal(const struct bt_le_adv_param *param, const struct b set_param.own_addr_type = id_addr->type; } else { #if defined(BFLB_BLE) && !defined(CONFIG_BT_MESH) -#if defined(CONFIG_BT_STACK_PTS) - if (param->addr_type == BT_ADDR_TYPE_RPA) { +#if defined(CONFIG_BT_STACK_PTS) || defined(CONFIG_AUTO_PTS) + if (param->addr_type == BT_ADDR_LE_RANDOM_ID) err = le_set_private_addr(param->id); - } else if (param->addr_type == BT_ADDR_TYPE_NON_RPA) { + else if (param->addr_type == BT_ADDR_LE_RANDOM) err = le_set_non_resolv_private_addr(param->id); - } #else // #if !defined(CONFIG_BT_ADV_WITH_PUBLIC_ADDR) // err = le_set_private_addr(param->id); // #endif #endif // CONFIG_BT_STACK_PTS -#if defined(CONFIG_BT_STACK_PTS) - if (param->addr_type == BT_ADDR_LE_PUBLIC) { - set_param.own_addr_type = BT_ADDR_LE_PUBLIC; - } else +#if defined(CONFIG_BT_STACK_PTS) || defined(CONFIG_AUTO_PTS) + set_param.own_addr_type = param->addr_type; +#else + // set_param.own_addr_type = BT_ADDR_LE_RANDOM; + // #if defined(CONFIG_BT_ADV_WITH_PUBLIC_ADDR) + set_param.own_addr_type = BT_ADDR_LE_PUBLIC; +// #endif #endif - // set_param.own_addr_type = BT_ADDR_LE_RANDOM; - // #if defined(CONFIG_BT_ADV_WITH_PUBLIC_ADDR) - set_param.own_addr_type = BT_ADDR_LE_PUBLIC; - // #endif #endif } @@ -6064,9 +6354,8 @@ int bt_le_adv_start_internal(const struct bt_le_adv_param *param, const struct b atomic_set_bit_to(bt_dev.flags, BT_DEV_ADVERTISING_CONNECTABLE, param->options & BT_LE_ADV_OPT_CONNECTABLE); #if defined(BFLB_HOST_ASSISTANT) - if (!atomic_test_bit(bt_dev.flags, BT_DEV_ASSIST_RUN) && host_assist_cb && host_assist_cb->le_adv_cb) { + if (!atomic_test_bit(bt_dev.flags, BT_DEV_ASSIST_RUN) && host_assist_cb && host_assist_cb->le_adv_cb) host_assist_cb->le_adv_cb(param, ad, ad_len, sd, sd_len); - } #endif return 0; @@ -6158,11 +6447,10 @@ int set_adv_param(const struct bt_le_adv_param *param) { if (param->options & BT_LE_ADV_OPT_CONNECTABLE) { if (IS_ENABLED(CONFIG_BT_PRIVACY) && !(param->options & BT_LE_ADV_OPT_USE_IDENTITY)) { #if defined(CONFIG_BT_STACK_PTS) - if (param->addr_type == BT_ADDR_TYPE_RPA) { + if (param->addr_type == BT_ADDR_TYPE_RPA) err = le_set_private_addr(param->id); - } else if (param->addr_type == BT_ADDR_TYPE_NON_RPA) { + else if (param->addr_type == BT_ADDR_TYPE_NON_RPA) err = le_set_non_resolv_private_addr(param->id); - } #else err = le_set_private_addr(param->id); #endif @@ -6172,14 +6460,12 @@ int set_adv_param(const struct bt_le_adv_param *param) { if (BT_FEAT_LE_PRIVACY(bt_dev.le.features)) { #if defined(CONFIG_BT_STACK_PTS) - if (param->addr_type == BT_ADDR_LE_PUBLIC) { + if (param->addr_type == BT_ADDR_LE_PUBLIC) set_param.own_addr_type = BT_ADDR_LE_PUBLIC; - } - if (param->addr_type == BT_ADDR_TYPE_RPA) { + if (param->addr_type == BT_ADDR_TYPE_RPA) set_param.own_addr_type = BT_HCI_OWN_ADDR_RPA_OR_RANDOM; - } else if (param->addr_type == BT_ADDR_TYPE_NON_RPA) { + else if (param->addr_type == BT_ADDR_TYPE_NON_RPA) set_param.own_addr_type = BT_ADDR_LE_RANDOM; - } #else set_param.own_addr_type = BT_HCI_OWN_ADDR_RPA_OR_RANDOM; #endif @@ -6215,18 +6501,17 @@ int set_adv_param(const struct bt_le_adv_param *param) { } else { #if defined(BFLB_BLE) && !defined(CONFIG_BT_MESH) #if defined(CONFIG_BT_STACK_PTS) - if (param->addr_type == BT_ADDR_TYPE_RPA) { + if (param->addr_type == BT_ADDR_TYPE_RPA) err = le_set_private_addr(param->id); - } else if (param->addr_type == BT_ADDR_TYPE_NON_RPA) { + else if (param->addr_type == BT_ADDR_TYPE_NON_RPA) err = le_set_non_resolv_private_addr(param->id); - } #else err = le_set_private_addr(param->id); #endif // CONFIG_BT_STACK_PTS #if defined(CONFIG_BT_STACK_PTS) - if (param->addr_type == BT_ADDR_LE_PUBLIC) { + if (param->addr_type == BT_ADDR_LE_PUBLIC) set_param.own_addr_type = BT_ADDR_LE_PUBLIC; - } else + else #endif set_param.own_addr_type = BT_ADDR_LE_RANDOM; #endif @@ -6271,9 +6556,8 @@ int set_ad_and_rsp_d(u16_t hci_op, u8_t *data, u32_t ad_len) { } else if (BT_HCI_OP_LE_SET_SCAN_RSP_DATA == hci_op) { size = sizeof(struct bt_hci_cp_le_set_scan_rsp_data); - } else { + } else return -ENOTSUP; - } buf = bt_hci_cmd_create(hci_op, size); if (!buf) { @@ -6311,9 +6595,8 @@ int set_ad_and_rsp_d(u16_t hci_op, u8_t *data, u32_t ad_len) { memcpy(set_data->data, data, set_data->len); - } else { + } else return -ENOBUFS; - } return bt_hci_cmd_send_sync(hci_op, buf, NULL); } @@ -6390,9 +6673,8 @@ static int set_ad_data(u16_t hci_op, const uint8_t *ad_data, int ad_len) { return -ENOBUFS; } - if (ad_len > 31) { + if (ad_len > 31) return -EINVAL; - } set_data = net_buf_add(buf, sizeof(*set_data)); @@ -6626,9 +6908,8 @@ int bt_le_scan_start(const struct bt_le_scan_param *param, bt_le_scan_cb_t cb) scan_dev_found_cb = cb; #if defined(BFLB_HOST_ASSISTANT) - if (!atomic_test_bit(bt_dev.flags, BT_DEV_ASSIST_RUN) && host_assist_cb && host_assist_cb->le_scan_cb) { + if (!atomic_test_bit(bt_dev.flags, BT_DEV_ASSIST_RUN) && host_assist_cb && host_assist_cb->le_scan_cb) host_assist_cb->le_scan_cb(param, cb); - } #endif return 0; @@ -6744,9 +7025,8 @@ int bt_set_tx_pwr(int8_t power) { struct net_buf *buf; int err; - if (power < 0 || power > 20) { + if (power < 0 || power > 20) return BT_HCI_ERR_INVALID_PARAM; - } memset(&set_param, 0, sizeof(set_param)); diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/hci_core.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/hci_core.h index 488e5311..2411fc60 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/hci_core.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/hci_core.h @@ -20,10 +20,22 @@ #define BT_VOICE_CVSD_16BIT 0x0060 #define BT_VOICE_MSBC_16BIT 0x0063 +#if (BFLB_BT_CO_THREAD) +enum { + BT_CMD_SYNC_NONE = 0, + BT_CMD_SYNC_TX = 1, + BT_CMD_SYNC_TX_DONE = 2 +}; +#endif + /* k_poll event tags */ enum { BT_EVENT_CMD_TX, BT_EVENT_CONN_TX_QUEUE, +#if (BFLB_BT_CO_THREAD) + BT_EVENT_RX_QUEUE, + BT_EVENT_WORK_QUEUE, +#endif }; /* bt_dev flags: the flags defined here represent BT controller state */ @@ -60,6 +72,10 @@ enum { BT_DEV_ADV_ADDRESS_IS_PUBLIC, #endif +#if defined(CONFIG_AUTO_PTS) + BT_DEV_SETTED_NON_RESOLV_ADDR, //The non-reslovable address have been set. +#endif + #if defined(BFLB_HOST_ASSISTANT) BT_DEV_ASSIST_RUN, #endif @@ -262,8 +278,9 @@ int set_adv_channel_map(u8_t channel); int bt_get_local_public_address(bt_addr_le_t *adv_addr); int bt_get_local_ramdon_address(bt_addr_le_t *adv_addr); int bt_le_set_data_len(struct bt_conn *conn, u16_t tx_octets, u16_t tx_time); -int hci_le_set_phy(struct bt_conn *conn); -int hci_le_set_default_phy(struct bt_conn *conn, u8_t default_phy); +int hci_le_set_phy(struct bt_conn *conn, uint8_t all_phys, + uint8_t pref_tx_phy, uint8_t pref_rx_phy, uint8_t phy_opts); +int hci_le_set_default_phy(u8_t default_phy); #if defined(CONFIG_SET_TX_PWR) int bt_set_tx_pwr(int8_t power); @@ -282,4 +299,7 @@ void bt_hci_reset_complete(struct net_buf *buf); void bt_register_host_assist_cb(struct blhast_cb *cb); #endif +typedef void (*bredr_name_callback)(const char *name); +int remote_name_req(const bt_addr_t *addr, bredr_name_callback cb); + #endif diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/l2cap.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/l2cap.c index 6d773ac6..9137ee43 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/l2cap.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/l2cap.c @@ -238,9 +238,8 @@ destroy: } #ifdef BFLB_BLE_PATCH_FREE_ALLOCATED_BUFFER_IN_OS - if (chan->rtx_work.timer.timer.hdl) { + if (chan->rtx_work.timer.timer.hdl) k_delayed_work_del_timer(&chan->rtx_work); - } #endif } diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/monitor.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/monitor.c index c6b27c37..e87f9a6b 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/monitor.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/monitor.c @@ -16,8 +16,9 @@ void bt_monitor_send(uint16_t opcode, const void *data, size_t len) { const uint8_t *buf = data; - + unsigned int key = irq_lock(); BT_WARN("[Hci]:pkt_type:[0x%x],pkt_data:[%s]\r\n", opcode, bt_hex(buf, len)); + irq_unlock(key); } void bt_monitor_new_index(uint8_t type, uint8_t bus, bt_addr_t *addr, const char *name) {} diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/multi_adv.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/multi_adv.c index da344c9a..ded6eeb0 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/multi_adv.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/multi_adv.c @@ -9,6 +9,7 @@ #include #include +#include "log.h" #include "multi_adv.h" #include "work_q.h" @@ -24,9 +25,8 @@ int multi_adv_get_instant_num(void) { struct multi_adv_instant *inst = &(g_multi_adv_list[0]); for (i = 0; i < MAX_MULTI_ADV_INSTANT; i++) { - if (inst[i].inuse_flag) { + if (inst[i].inuse_flag) num++; - } } return num; } @@ -105,15 +105,13 @@ int change_to_tick(int min_interval, int max_interval) { if (max_interval / SLOT_PER_PERIOD != min_interval / SLOT_PER_PERIOD) { tick = min_interval / SLOT_PER_PERIOD; - if (min_interval % SLOT_PER_PERIOD) { + if (min_interval % SLOT_PER_PERIOD) tick++; - } } else { tick = min_interval / SLOT_PER_PERIOD; } - if (tick <= 1) { + if (tick <= 1) tick = 1; - } return tick; } @@ -161,13 +159,11 @@ int calculate_offset(uint16_t interval[], uint16_t offset[], int num, int durati int offset_range; offset_range = interval[num]; - if (offset_range > duration) { + if (offset_range > duration) offset_range = duration; - } - if (num == 0) { + if (num == 0) return 0; - } min_max_instants = 0x7fffffff; /* using 0-interval-1 as offset */ @@ -182,9 +178,8 @@ int calculate_offset(uint16_t interval[], uint16_t offset[], int num, int durati instants++; } } - if (j % interval[num] == i) { + if (j % interval[num] == i) instants++; - } if (curr_max_instants < instants) { curr_max_instants = instants; } @@ -232,9 +227,8 @@ void multi_adv_schedule_timer_handle(void) { struct multi_adv_scheduler *adv_scheduler = &g_multi_adv_scheduler; multi_adv_schedule_timer_stop(); - if (adv_scheduler->schedule_state == SCHEDULE_STOP) { + if (adv_scheduler->schedule_state == SCHEDULE_STOP) return; - } adv_scheduler->slot_clock = adv_scheduler->next_slot_clock; adv_scheduler->slot_offset = adv_scheduler->next_slot_offset; @@ -298,7 +292,7 @@ void multi_adv_schedule_timeslot(struct multi_adv_scheduler *adv_scheduler) { } } - // BT_DBG("multi_adv_schedule_timeslot, num = %d, match = %d", inst_num, match); + BT_DBG("multi_adv_schedule_timeslot, num = %d, match = %d", inst_num, match); if (match) { int offset_per_instant, diff; offset_per_instant = TIME_PRIOD_MS / match; @@ -310,9 +304,8 @@ void multi_adv_schedule_timeslot(struct multi_adv_scheduler *adv_scheduler) { /* start instant */ adv_instant = multi_adv_find_instant_by_order(inst_order[match_order[insts]]); - if (adv_instant) { + if (adv_instant) multi_adv_start_adv_instant(adv_instant); - } } /* next instant in the same slot */ @@ -402,7 +395,7 @@ void multi_adv_new_schedule(void) { } if (high_duty_instant) { - // BT_WARN("High Duty Cycle Instants, id = %d, interval = %d\n", adv_instant->instant_id, adv_instant->param.interval_min); + BT_WARN("High Duty Cycle Instants, id = %d, interval = %d\n", adv_instant->instant_id, adv_instant->param.interval_min); multi_adv_start_adv_instant(adv_instant); return; } @@ -414,9 +407,8 @@ void multi_adv_new_schedule(void) { } if (inst_num == 1) { adv_instant = multi_adv_find_instant_by_order(inst_order[0]); - if (!adv_instant) { + if (!adv_instant) return; - } multi_adv_start_adv_instant(adv_instant); return; } @@ -436,7 +428,7 @@ void multi_adv_new_schedule(void) { adv_instant->instant_interval = inst_interval[i]; adv_instant->instant_offset = inst_offset[i]; - // BT_WARN("adv_instant id = %d, interval = %d, offset = %d\n", adv_instant->instant_id, adv_instant->instant_interval, adv_instant->instant_offset); + BT_WARN("adv_instant id = %d, interval = %d, offset = %d\n", adv_instant->instant_id, adv_instant->instant_interval, adv_instant->instant_offset); } multi_adv_schedule_start(); @@ -453,14 +445,12 @@ int bt_le_multi_adv_start(const struct bt_le_adv_param *param, const struct bt_d struct multi_adv_instant *adv_instant; instant_num = multi_adv_get_instant_num(); - if (instant_num >= MAX_MULTI_ADV_INSTANT) { + if (instant_num >= MAX_MULTI_ADV_INSTANT) return -1; - } adv_instant = multi_adv_alloc_unused_instant(); - if (adv_instant == 0) { + if (adv_instant == 0) return -1; - } memcpy(&(adv_instant->param), param, sizeof(struct bt_le_adv_param)); @@ -474,11 +464,10 @@ int bt_le_multi_adv_start(const struct bt_le_adv_param *param, const struct bt_d } int bt_le_multi_adv_stop(int instant_id) { - if (multi_adv_find_instant_by_id(instant_id) == 0) { + if (multi_adv_find_instant_by_id(instant_id) == 0) return -1; - } - // BT_WARN("%s id[%d]\n", __func__, instant_id); + BT_WARN("%s id[%d]\n", __func__, instant_id); multi_adv_delete_instant_by_id(instant_id); multi_adv_new_schedule(); diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/settings.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/settings.c index 3c7282ee..0f6725a6 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/settings.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/host/settings.c @@ -221,72 +221,37 @@ int bt_check_if_ef_ready() { if (!ef_ready_flag) { err = easyflash_init(); - if (!err) { + if (!err) ef_ready_flag = true; - } } return err; } int bt_settings_set_bin(const char *key, const uint8_t *value, size_t length) { - const char *lookup = "0123456789abcdef"; - char *str_value; - int err; + int err; err = bt_check_if_ef_ready(); - if (err) { + if (err) return err; - } - str_value = pvPortMalloc(length * 2 + 1); - - BT_ASSERT(str_value != NULL); - - for (size_t i = 0; i < length; i++) { - str_value[(i * 2) + 0] = lookup[(value[i] >> 4) & 0x0F]; - str_value[(i * 2) + 1] = lookup[value[i] & 0x0F]; - } - str_value[length * 2] = '\0'; - - err = ef_set_env(key, (const char *)str_value); - - vPortFree(str_value); + err = ef_set_env_blob(key, value, length); return err; } int bt_settings_get_bin(const char *key, u8_t *value, size_t exp_len, size_t *real_len) { - char *str_value; - size_t str_value_len; - char rand[3]; int err; + size_t rlen; err = bt_check_if_ef_ready(); - if (err) { + if (err) return err; - } - str_value = ef_get_env(key); - if (str_value == NULL) { - return -1; - } + rlen = ef_get_env_blob(key, value, exp_len, NULL); - str_value_len = strlen(str_value); - - if ((str_value_len % 2) != 0 || (exp_len > 0 && str_value_len > exp_len * 2)) { - return -1; - } - - if (real_len) { - *real_len = str_value_len / 2; - } - - for (size_t i = 0; i < str_value_len / 2; i++) { - strncpy(rand, str_value + 2 * i, 2); - rand[2] = '\0'; - value[i] = strtol(rand, NULL, 16); - } + if (real_len) + *real_len = rlen; return 0; } @@ -300,9 +265,8 @@ int settings_save_one(const char *key, const u8_t *value, size_t length) { retur void bt_settings_save_id(void) { #if defined(BFLB_BLE) #if defined(CONFIG_BT_SETTINGS) - if (bt_check_if_ef_ready()) { + if (bt_check_if_ef_ready()) return; - } bt_settings_set_bin(NV_LOCAL_ID_ADDR, (const u8_t *)&bt_dev.id_addr[0], sizeof(bt_addr_le_t) * CONFIG_BT_ID_MAX); #if defined(CONFIG_BT_PRIVACY) bt_settings_set_bin(NV_LOCAL_IRK, (const u8_t *)&bt_dev.irk[0], 16 * CONFIG_BT_ID_MAX); @@ -315,26 +279,13 @@ void bt_settings_save_id(void) { #if defined(BFLB_BLE) #if defined(CONFIG_BT_SETTINGS) -void bt_settings_save_name(void) { - if (bt_check_if_ef_ready()) { - return; - } - - ef_set_env(NV_LOCAL_NAME, bt_dev.name); -} +void bt_settings_save_name(void) { bt_settings_set_bin(NV_LOCAL_NAME, (u8_t *)bt_dev.name, strlen(bt_dev.name) + 1); } void bt_local_info_load(void) { - if (bt_check_if_ef_ready()) { + if (bt_check_if_ef_ready()) return; - } #if defined(CONFIG_BT_DEVICE_NAME_DYNAMIC) - char *dev_name; - uint8_t len; - dev_name = ef_get_env(NV_LOCAL_NAME); - if (dev_name != NULL) { - len = ((strlen(dev_name) + 1) < CONFIG_BT_DEVICE_NAME_MAX) ? (strlen(dev_name) + 1) : CONFIG_BT_DEVICE_NAME_MAX; - memcpy(bt_dev.name, dev_name, len); - } + bt_settings_get_bin(NV_LOCAL_NAME, (u8_t *)bt_dev.name, CONFIG_BT_DEVICE_NAME_MAX, NULL); #endif bt_settings_get_bin(NV_LOCAL_ID_ADDR, (u8_t *)&bt_dev.id_addr[0], sizeof(bt_addr_le_t) * CONFIG_BT_ID_MAX, NULL); #if defined(CONFIG_BT_PRIVACY) diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/addr.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/addr.h index 768f3189..016181f6 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/addr.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/addr.h @@ -21,12 +21,6 @@ extern "C" { #define BT_ADDR_LE_PUBLIC_ID 0x02 #define BT_ADDR_LE_RANDOM_ID 0x03 -#if defined(CONFIG_BT_STACK_PTS) -//for app layer to deliver the address type:non rpa ,rpa -#define BT_ADDR_TYPE_NON_RPA 0x01 -#define BT_ADDR_TYPE_RPA 0x02 -#endif - /** Bluetooth Device Address */ typedef struct { u8_t val[6]; diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/att.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/att.h index 515320ac..4e99cf2d 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/att.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/att.h @@ -13,10 +13,8 @@ #ifdef __cplusplus extern "C" { #endif -#include "buf.h" + #include -#include "conn_internal.h" -#include "conn.h" /* Error codes for Error response PDU */ #define BT_ATT_ERR_INVALID_HANDLE 0x01 @@ -45,18 +43,20 @@ extern "C" { #define BT_ATT_ERR_PROCEDURE_IN_PROGRESS 0xfe #define BT_ATT_ERR_OUT_OF_RANGE 0xff -typedef void (*bt_att_func_t)(struct bt_conn *conn, u8_t err, const void *pdu, u16_t length, void *user_data); +typedef void (*bt_att_func_t)(struct bt_conn *conn, u8_t err, + const void *pdu, u16_t length, + void *user_data); typedef void (*bt_att_destroy_t)(void *user_data); /* ATT request context */ struct bt_att_req { - sys_snode_t node; - bt_att_func_t func; - bt_att_destroy_t destroy; - struct net_buf_simple_state state; - struct net_buf *buf; + sys_snode_t node; + bt_att_func_t func; + bt_att_destroy_t destroy; + struct net_buf_simple_state state; + struct net_buf *buf; #if defined(CONFIG_BT_SMP) - bool retrying; + bool retrying; #endif /* CONFIG_BT_SMP */ }; diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/avdtp.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/avdtp.h index f9c09632..72cc2c53 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/avdtp.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/avdtp.h @@ -14,8 +14,6 @@ extern "C" { #endif -#include "avdtp_internal.h" - /** @brief AVDTP SEID Information */ struct bt_avdtp_seid_info { /** Stream End Point ID */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/bluetooth.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/bluetooth.h index ec0a5d52..826d4ec5 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/bluetooth.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/bluetooth.h @@ -315,7 +315,7 @@ struct bt_le_adv_param { /** Maximum Advertising Interval (N * 0.625) */ u16_t interval_max; -#if defined(CONFIG_BT_STACK_PTS) +#if defined(CONFIG_BT_STACK_PTS) || defined(CONFIG_AUTO_PTS) u8_t addr_type; #endif }; diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/conn.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/conn.h index 18b64971..66376abc 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/conn.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/conn.h @@ -21,7 +21,6 @@ #include #include #include -#include "conn_internal.h" #ifdef __cplusplus extern "C" { @@ -107,6 +106,7 @@ struct bt_conn *bt_conn_lookup_addr_le(u8_t id, const bt_addr_le_t *peer); #if defined(BFLB_BLE) bool le_check_valid_conn(void); +void notify_disconnected(struct bt_conn *conn); #if defined(BFLB_HOST_ASSISTANT) void bt_notify_disconnected(void); #endif @@ -491,6 +491,17 @@ struct bt_conn_cb { */ void (*le_param_updated)(struct bt_conn *conn, u16_t interval, u16_t latency, u16_t timeout); + + /** @brief The PHY of the connection has changed. + * + * This callback notifies the application that the PHY of the + * connection has changed. + * + * @param conn Connection object. + * @param tx_phy Transmit phy. + * @param rx_phy Receive phy. + */ + void (*le_phy_updated)(struct bt_conn *conn, u8_t tx_phy, u8_t rx_phy); #if defined(CONFIG_BT_SMP) /** @brief Remote Identity Address has been resolved. * diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/gatt.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/gatt.h index 26c43f17..20b9391c 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/gatt.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/gatt.h @@ -26,7 +26,6 @@ #ifdef __cplusplus extern "C" { #endif -#include "conn_internal.h" /* GATT attribute permission bit field values */ enum { @@ -530,6 +529,13 @@ ssize_t bt_gatt_attr_read_chrc(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset); +#define BT_GATT_CHRC_INIT(_uuid, _handle, _props) \ + { \ + .uuid = _uuid, \ + .value_handle = _handle, \ + .properties = _props, \ + } + /** @def BT_GATT_CHARACTERISTIC * @brief Characteristic and Value Declaration Macro. * @@ -546,10 +552,8 @@ ssize_t bt_gatt_attr_read_chrc(struct bt_conn *conn, #define BT_GATT_CHARACTERISTIC(_uuid, _props, _perm, _read, _write, _value) \ BT_GATT_ATTRIBUTE(BT_UUID_GATT_CHRC, BT_GATT_PERM_READ, \ bt_gatt_attr_read_chrc, NULL, \ - (&(struct bt_gatt_chrc){ \ - .uuid = _uuid, \ - .value_handle = 0U, \ - .properties = _props, \ + ((struct bt_gatt_chrc[]){ \ + BT_GATT_CHRC_INIT(_uuid, 0U, _props), \ })), \ BT_GATT_ATTRIBUTE(_uuid, _perm, _read, _write, _value) @@ -785,10 +789,11 @@ ssize_t bt_gatt_attr_read_cpf(struct bt_conn *conn, #define BT_GATT_ATTRIBUTE(_uuid, _perm, _read, _write, _value) \ { \ .uuid = _uuid, \ - .perm = _perm, \ .read = _read, \ .write = _write, \ .user_data = _value, \ + .handle = 0, \ + .perm = _perm, \ } /** @brief Notification complete result callback. @@ -1371,7 +1376,12 @@ void bt_gatt_cancel(struct bt_conn *conn, void *params); typedef void (*bt_gatt_mtu_changed_cb_t)(struct bt_conn *conn, int mtu); void bt_gatt_register_mtu_callback(bt_gatt_mtu_changed_cb_t cb); #endif - +#if defined(CONFIG_BT_GATT_CLIENT) +#if defined(BFLB_BLE_NOTIFY_ALL) +typedef void (*bt_notification_all_cb_t)(struct bt_conn *conn, u16_t handle, const void *data, u16_t length); +void bt_gatt_register_notification_callback(bt_notification_all_cb_t cb); +#endif +#endif #if defined(BFLB_BLE) /** @brief load gatt ccc from flash * diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/hci_host.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/hci_host.h index 5d79f000..b1c514b9 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/hci_host.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/hci_host.h @@ -476,6 +476,17 @@ struct bt_hci_write_local_name { #define BT_BREDR_SCAN_INQUIRY 0x01 #define BT_BREDR_SCAN_PAGE 0x02 +#define BT_HCI_OP_WRITE_INQUIRY_SCAN_ACTIVITY BT_OP(BT_OGF_BASEBAND, 0x001e) +struct bt_hci_cp_write_inquiry_scan_activity { + u16_t interval; + u16_t window; +} __packed; + +#define BT_HCI_OP_WRITE_CLASS_OF_DEVICE BT_OP(BT_OGF_BASEBAND, 0x0024) +struct bt_hci_cp_write_class_of_device { + u8_t cod[3]; +} __packed; + #define BT_TX_POWER_LEVEL_CURRENT 0x00 #define BT_TX_POWER_LEVEL_MAX 0x01 #define BT_HCI_OP_READ_TX_POWER_LEVEL BT_OP(BT_OGF_BASEBAND, 0x002d) @@ -516,11 +527,21 @@ struct bt_hci_cp_host_num_completed_packets { struct bt_hci_handle_count h[0]; } __packed; +#define BT_HCI_OP_WRITE_INQUIRY_SCAN_TYPE BT_OP(BT_OGF_BASEBAND, 0x0043) +struct bt_hci_cp_write_inquiry_scan_type { + u8_t type; +} __packed; + #define BT_HCI_OP_WRITE_INQUIRY_MODE BT_OP(BT_OGF_BASEBAND, 0x0045) struct bt_hci_cp_write_inquiry_mode { u8_t mode; } __packed; +#define BT_HCI_OP_WRITE_PAGE_SCAN_TYPE BT_OP(BT_OGF_BASEBAND, 0x0047) +struct bt_hci_cp_write_page_scan_type { + u8_t type; +} __packed; + #define BT_HCI_OP_WRITE_EXT_INQUIRY_RESP BT_OP(BT_OGF_BASEBAND, 0x0052) struct bt_hci_cp_write_ext_inquiry_resp { u8_t rec; @@ -2617,6 +2638,10 @@ typedef bool bt_hci_vnd_evt_cb_t(struct net_buf_simple *buf); */ int bt_hci_register_vnd_evt_cb(bt_hci_vnd_evt_cb_t cb); +#if (BFLB_BT_CO_THREAD) +struct k_thread *bt_get_co_thread(void); +#endif + #ifdef __cplusplus } #endif diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/iso.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/iso.h index b24988a8..c48295c9 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/iso.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/iso.h @@ -21,15 +21,17 @@ extern "C" { #endif +#include #include #include #include -#include /** @def BT_ISO_CHAN_SEND_RESERVE * @brief Headroom needed for outgoing buffers */ -#define BT_ISO_CHAN_SEND_RESERVE (CONFIG_BT_HCI_RESERVE + BT_HCI_ISO_HDR_SIZE + BT_HCI_ISO_DATA_HDR_SIZE) +#define BT_ISO_CHAN_SEND_RESERVE (CONFIG_BT_HCI_RESERVE + \ + BT_HCI_ISO_HDR_SIZE + \ + BT_HCI_ISO_DATA_HDR_SIZE) struct bt_iso_chan; @@ -38,136 +40,140 @@ struct bt_iso_chan; * context. */ enum { - /** Channel disconnected */ - BT_ISO_DISCONNECTED, - /** Channel bound to a connection */ - BT_ISO_BOUND, - /** Channel in connecting state */ - BT_ISO_CONNECT, - /** Channel ready for upper layer traffic on it */ - BT_ISO_CONNECTED, - /** Channel in disconnecting state */ - BT_ISO_DISCONNECT, + /** Channel disconnected */ + BT_ISO_DISCONNECTED, + /** Channel bound to a connection */ + BT_ISO_BOUND, + /** Channel in connecting state */ + BT_ISO_CONNECT, + /** Channel ready for upper layer traffic on it */ + BT_ISO_CONNECTED, + /** Channel in disconnecting state */ + BT_ISO_DISCONNECT, }; /** @brief ISO Channel structure. */ struct bt_iso_chan { - /** Channel connection reference */ - struct bt_conn *conn; - /** Channel operations reference */ - struct bt_iso_chan_ops *ops; - /** Channel QoS reference */ - struct bt_iso_chan_qos *qos; - /** Channel data path reference*/ - struct bt_iso_chan_path *path; - sys_snode_t node; - uint8_t state; - bt_security_t required_sec_level; + /** Channel connection reference */ + struct bt_conn *conn; + /** Channel operations reference */ + struct bt_iso_chan_ops *ops; + /** Channel QoS reference */ + struct bt_iso_chan_qos *qos; + /** Channel data path reference*/ + struct bt_iso_chan_path *path; + sys_snode_t node; + uint8_t state; + bt_security_t required_sec_level; }; /** @brief Audio QoS direction */ -enum { BT_ISO_CHAN_QOS_IN, BT_ISO_CHAN_QOS_OUT, BT_ISO_CHAN_QOS_INOUT }; +enum { + BT_ISO_CHAN_QOS_IN, + BT_ISO_CHAN_QOS_OUT, + BT_ISO_CHAN_QOS_INOUT +}; /** @brief ISO Channel QoS structure. */ struct bt_iso_chan_qos { - /** @brief Channel direction - * - * Possible values: BT_ISO_CHAN_QOS_IN, BT_ISO_CHAN_QOS_OUT or - * BT_ISO_CHAN_QOS_INOUT. - */ - uint8_t dir; - /** Channel interval */ - uint32_t interval; - /** Channel SCA */ - uint8_t sca; - /** Channel packing mode */ - uint8_t packing; - /** Channel framing mode */ - uint8_t framing; - /** Channel Latency */ - uint16_t latency; - /** Channel SDU */ - uint8_t sdu; - /** Channel PHY */ - uint8_t phy; - /** Channel Retransmission Number */ - uint8_t rtn; + /** @brief Channel direction + * + * Possible values: BT_ISO_CHAN_QOS_IN, BT_ISO_CHAN_QOS_OUT or + * BT_ISO_CHAN_QOS_INOUT. + */ + uint8_t dir; + /** Channel interval */ + uint32_t interval; + /** Channel SCA */ + uint8_t sca; + /** Channel packing mode */ + uint8_t packing; + /** Channel framing mode */ + uint8_t framing; + /** Channel Latency */ + uint16_t latency; + /** Channel SDU */ + uint8_t sdu; + /** Channel PHY */ + uint8_t phy; + /** Channel Retransmission Number */ + uint8_t rtn; }; /** @brief ISO Channel Data Path structure. */ struct bt_iso_chan_path { - /** Default path ID */ - uint8_t pid; - /** Coding Format */ - uint8_t format; - /** Company ID */ - uint16_t cid; - /** Vendor-defined Codec ID */ - uint16_t vid; - /** Controller Delay */ - uint32_t delay; - /** Codec Configuration length*/ - uint8_t cc_len; - /** Codec Configuration */ - uint8_t cc[0]; + /** Default path ID */ + uint8_t pid; + /** Coding Format */ + uint8_t format; + /** Company ID */ + uint16_t cid; + /** Vendor-defined Codec ID */ + uint16_t vid; + /** Controller Delay */ + uint32_t delay; + /** Codec Configuration length*/ + uint8_t cc_len; + /** Codec Configuration */ + uint8_t cc[0]; }; /** @brief ISO Channel operations structure. */ struct bt_iso_chan_ops { - /** @brief Channel connected callback - * - * If this callback is provided it will be called whenever the - * connection completes. - * - * @param chan The channel that has been connected - */ - void (*connected)(struct bt_iso_chan *chan); + /** @brief Channel connected callback + * + * If this callback is provided it will be called whenever the + * connection completes. + * + * @param chan The channel that has been connected + */ + void (*connected)(struct bt_iso_chan *chan); - /** @brief Channel disconnected callback - * - * If this callback is provided it will be called whenever the - * channel is disconnected, including when a connection gets - * rejected. - * - * @param chan The channel that has been Disconnected - */ - void (*disconnected)(struct bt_iso_chan *chan); + /** @brief Channel disconnected callback + * + * If this callback is provided it will be called whenever the + * channel is disconnected, including when a connection gets + * rejected. + * + * @param chan The channel that has been Disconnected + */ + void (*disconnected)(struct bt_iso_chan *chan); - /** @brief Channel alloc_buf callback - * - * If this callback is provided the channel will use it to allocate - * buffers to store incoming data. - * - * @param chan The channel requesting a buffer. - * - * @return Allocated buffer. - */ - struct net_buf *(*alloc_buf)(struct bt_iso_chan *chan); + /** @brief Channel alloc_buf callback + * + * If this callback is provided the channel will use it to allocate + * buffers to store incoming data. + * + * @param chan The channel requesting a buffer. + * + * @return Allocated buffer. + */ + struct net_buf *(*alloc_buf)(struct bt_iso_chan *chan); - /** @brief Channel recv callback - * - * @param chan The channel receiving data. - * @param buf Buffer containing incoming data. - */ - void (*recv)(struct bt_iso_chan *chan, struct net_buf *buf); + /** @brief Channel recv callback + * + * @param chan The channel receiving data. + * @param buf Buffer containing incoming data. + */ + void (*recv)(struct bt_iso_chan *chan, struct net_buf *buf); }; /** @brief ISO Server structure. */ struct bt_iso_server { - /** Required minimim security level */ - bt_security_t sec_level; + /** Required minimim security level */ + bt_security_t sec_level; - /** @brief Server accept callback - * - * This callback is called whenever a new incoming connection requires - * authorization. - * - * @param conn The connection that is requesting authorization - * @param chan Pointer to receive the allocated channel - * - * @return 0 in case of success or negative value in case of error. - */ - int (*accept)(struct bt_conn *conn, struct bt_iso_chan **chan); + /** @brief Server accept callback + * + * This callback is called whenever a new incoming connection requires + * authorization. + * + * @param conn The connection that is requesting authorization + * @param chan Pointer to receive the allocated channel + * + * @return 0 in case of success or negative value in case of error. + */ + int (*accept)(struct bt_conn *conn, struct bt_iso_chan **chan); }; /** @brief Register ISO server. @@ -194,7 +200,8 @@ int bt_iso_server_register(struct bt_iso_server *server); * * @return 0 in case of success or negative value in case of error. */ -int bt_iso_chan_bind(struct bt_conn **conns, uint8_t num_conns, struct bt_iso_chan **chans); +int bt_iso_chan_bind(struct bt_conn **conns, uint8_t num_conns, + struct bt_iso_chan **chans); /** @brief Connect ISO channels * diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/l2cap.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/l2cap.h index 75934439..12db69e7 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/l2cap.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/l2cap.h @@ -18,7 +18,6 @@ */ #include <../bluetooth/buf.h> -#include #include #include #ifdef __cplusplus @@ -37,7 +36,9 @@ extern "C" { * * @return Needed buffer size to match the requested L2CAP MTU. */ -#define BT_L2CAP_BUF_SIZE(mtu) (BT_BUF_RESERVE + BT_HCI_ACL_HDR_SIZE + BT_L2CAP_HDR_SIZE + (mtu)) +#define BT_L2CAP_BUF_SIZE(mtu) (BT_BUF_RESERVE + \ + BT_HCI_ACL_HDR_SIZE + BT_L2CAP_HDR_SIZE + \ + (mtu)) struct bt_l2cap_chan; @@ -53,82 +54,82 @@ typedef void (*bt_l2cap_chan_destroy_t)(struct bt_l2cap_chan *chan); * context. */ typedef enum bt_l2cap_chan_state { - /** Channel disconnected */ - BT_L2CAP_DISCONNECTED, - /** Channel in connecting state */ - BT_L2CAP_CONNECT, - /** Channel in config state, BR/EDR specific */ - BT_L2CAP_CONFIG, - /** Channel ready for upper layer traffic on it */ - BT_L2CAP_CONNECTED, - /** Channel in disconnecting state */ - BT_L2CAP_DISCONNECT, + /** Channel disconnected */ + BT_L2CAP_DISCONNECTED, + /** Channel in connecting state */ + BT_L2CAP_CONNECT, + /** Channel in config state, BR/EDR specific */ + BT_L2CAP_CONFIG, + /** Channel ready for upper layer traffic on it */ + BT_L2CAP_CONNECTED, + /** Channel in disconnecting state */ + BT_L2CAP_DISCONNECT, } __packed bt_l2cap_chan_state_t; /** @brief Status of L2CAP channel. */ typedef enum bt_l2cap_chan_status { - /** Channel output status */ - BT_L2CAP_STATUS_OUT, + /** Channel output status */ + BT_L2CAP_STATUS_OUT, - /* Total number of status - must be at the end of the enum */ - BT_L2CAP_NUM_STATUS, + /* Total number of status - must be at the end of the enum */ + BT_L2CAP_NUM_STATUS, } __packed bt_l2cap_chan_status_t; /** @brief L2CAP Channel structure. */ struct bt_l2cap_chan { - /** Channel connection reference */ - struct bt_conn *conn; - /** Channel operations reference */ - struct bt_l2cap_chan_ops *ops; - sys_snode_t node; - bt_l2cap_chan_destroy_t destroy; - /* Response Timeout eXpired (RTX) timer */ - struct k_delayed_work rtx_work; - ATOMIC_DEFINE(status, BT_L2CAP_NUM_STATUS); + /** Channel connection reference */ + struct bt_conn *conn; + /** Channel operations reference */ + struct bt_l2cap_chan_ops *ops; + sys_snode_t node; + bt_l2cap_chan_destroy_t destroy; + /* Response Timeout eXpired (RTX) timer */ + struct k_delayed_work rtx_work; + ATOMIC_DEFINE(status, BT_L2CAP_NUM_STATUS); #if defined(CONFIG_BT_L2CAP_DYNAMIC_CHANNEL) - bt_l2cap_chan_state_t state; - /** Remote PSM to be connected */ - u16_t psm; - /** Helps match request context during CoC */ - u8_t ident; - bt_security_t required_sec_level; + bt_l2cap_chan_state_t state; + /** Remote PSM to be connected */ + u16_t psm; + /** Helps match request context during CoC */ + u8_t ident; + bt_security_t required_sec_level; #endif /* CONFIG_BT_L2CAP_DYNAMIC_CHANNEL */ }; /** @brief LE L2CAP Endpoint structure. */ struct bt_l2cap_le_endpoint { - /** Endpoint CID */ - u16_t cid; - /** Endpoint Maximum Transmission Unit */ - u16_t mtu; - /** Endpoint Maximum PDU payload Size */ - u16_t mps; - /** Endpoint initial credits */ - u16_t init_credits; - /** Endpoint credits */ - struct k_sem credits; + /** Endpoint CID */ + u16_t cid; + /** Endpoint Maximum Transmission Unit */ + u16_t mtu; + /** Endpoint Maximum PDU payload Size */ + u16_t mps; + /** Endpoint initial credits */ + u16_t init_credits; + /** Endpoint credits */ + struct k_sem credits; }; /** @brief LE L2CAP Channel structure. */ struct bt_l2cap_le_chan { - /** Common L2CAP channel reference object */ - struct bt_l2cap_chan chan; - /** Channel Receiving Endpoint */ - struct bt_l2cap_le_endpoint rx; - /** Channel Transmission Endpoint */ - struct bt_l2cap_le_endpoint tx; - /** Channel Transmission queue */ - struct k_fifo tx_queue; - /** Channel Pending Transmission buffer */ - struct net_buf *tx_buf; - /** Segment SDU packet from upper layer */ - struct net_buf *_sdu; - u16_t _sdu_len; + /** Common L2CAP channel reference object */ + struct bt_l2cap_chan chan; + /** Channel Receiving Endpoint */ + struct bt_l2cap_le_endpoint rx; + /** Channel Transmission Endpoint */ + struct bt_l2cap_le_endpoint tx; + /** Channel Transmission queue */ + struct k_fifo tx_queue; + /** Channel Pending Transmission buffer */ + struct net_buf *tx_buf; + /** Segment SDU packet from upper layer */ + struct net_buf *_sdu; + u16_t _sdu_len; - struct k_work rx_work; - struct k_fifo rx_queue; + struct k_work rx_work; + struct k_fifo rx_queue; }; /** @def BT_L2CAP_LE_CHAN(_ch) @@ -144,107 +145,107 @@ struct bt_l2cap_le_chan { /** @brief BREDR L2CAP Endpoint structure. */ struct bt_l2cap_br_endpoint { - /** Endpoint CID */ - u16_t cid; - /** Endpoint Maximum Transmission Unit */ - u16_t mtu; + /** Endpoint CID */ + u16_t cid; + /** Endpoint Maximum Transmission Unit */ + u16_t mtu; }; /** @brief BREDR L2CAP Channel structure. */ struct bt_l2cap_br_chan { - /** Common L2CAP channel reference object */ - struct bt_l2cap_chan chan; - /** Channel Receiving Endpoint */ - struct bt_l2cap_br_endpoint rx; - /** Channel Transmission Endpoint */ - struct bt_l2cap_br_endpoint tx; - /* For internal use only */ - atomic_t flags[1]; + /** Common L2CAP channel reference object */ + struct bt_l2cap_chan chan; + /** Channel Receiving Endpoint */ + struct bt_l2cap_br_endpoint rx; + /** Channel Transmission Endpoint */ + struct bt_l2cap_br_endpoint tx; + /* For internal use only */ + atomic_t flags[1]; }; /** @brief L2CAP Channel operations structure. */ struct bt_l2cap_chan_ops { - /** Channel connected callback - * - * If this callback is provided it will be called whenever the - * connection completes. - * - * @param chan The channel that has been connected - */ - void (*connected)(struct bt_l2cap_chan *chan); + /** Channel connected callback + * + * If this callback is provided it will be called whenever the + * connection completes. + * + * @param chan The channel that has been connected + */ + void (*connected)(struct bt_l2cap_chan *chan); - /** Channel disconnected callback - * - * If this callback is provided it will be called whenever the - * channel is disconnected, including when a connection gets - * rejected. - * - * @param chan The channel that has been Disconnected - */ - void (*disconnected)(struct bt_l2cap_chan *chan); + /** Channel disconnected callback + * + * If this callback is provided it will be called whenever the + * channel is disconnected, including when a connection gets + * rejected. + * + * @param chan The channel that has been Disconnected + */ + void (*disconnected)(struct bt_l2cap_chan *chan); - /** Channel encrypt_change callback - * - * If this callback is provided it will be called whenever the - * security level changed (indirectly link encryption done) or - * authentication procedure fails. In both cases security initiator - * and responder got the final status (HCI status) passed by - * related to encryption and authentication events from local host's - * controller. - * - * @param chan The channel which has made encryption status changed. - * @param status HCI status of performed security procedure caused - * by channel security requirements. The value is populated - * by HCI layer and set to 0 when success and to non-zero (reference to - * HCI Error Codes) when security/authentication failed. - */ - void (*encrypt_change)(struct bt_l2cap_chan *chan, u8_t hci_status); + /** Channel encrypt_change callback + * + * If this callback is provided it will be called whenever the + * security level changed (indirectly link encryption done) or + * authentication procedure fails. In both cases security initiator + * and responder got the final status (HCI status) passed by + * related to encryption and authentication events from local host's + * controller. + * + * @param chan The channel which has made encryption status changed. + * @param status HCI status of performed security procedure caused + * by channel security requirements. The value is populated + * by HCI layer and set to 0 when success and to non-zero (reference to + * HCI Error Codes) when security/authentication failed. + */ + void (*encrypt_change)(struct bt_l2cap_chan *chan, u8_t hci_status); - /** Channel alloc_buf callback - * - * If this callback is provided the channel will use it to allocate - * buffers to store incoming data. - * - * @param chan The channel requesting a buffer. - * - * @return Allocated buffer. - */ - struct net_buf *(*alloc_buf)(struct bt_l2cap_chan *chan); + /** Channel alloc_buf callback + * + * If this callback is provided the channel will use it to allocate + * buffers to store incoming data. + * + * @param chan The channel requesting a buffer. + * + * @return Allocated buffer. + */ + struct net_buf *(*alloc_buf)(struct bt_l2cap_chan *chan); - /** Channel recv callback - * - * @param chan The channel receiving data. - * @param buf Buffer containing incoming data. - * - * @return 0 in case of success or negative value in case of error. - * If -EINPROGRESS is returned user has to confirm once the data has - * been processed by calling bt_l2cap_chan_recv_complete passing back - * the buffer received with its original user_data which contains the - * number of segments/credits used by the packet. - */ - int (*recv)(struct bt_l2cap_chan *chan, struct net_buf *buf); + /** Channel recv callback + * + * @param chan The channel receiving data. + * @param buf Buffer containing incoming data. + * + * @return 0 in case of success or negative value in case of error. + * If -EINPROGRESS is returned user has to confirm once the data has + * been processed by calling bt_l2cap_chan_recv_complete passing back + * the buffer received with its original user_data which contains the + * number of segments/credits used by the packet. + */ + int (*recv)(struct bt_l2cap_chan *chan, struct net_buf *buf); - /* Channel sent callback - * - * If this callback is provided it will be called whenever a SDU has - * been completely sent. - * - * @param chan The channel which has sent data. - */ - void (*sent)(struct bt_l2cap_chan *chan); + /* Channel sent callback + * + * If this callback is provided it will be called whenever a SDU has + * been completely sent. + * + * @param chan The channel which has sent data. + */ + void (*sent)(struct bt_l2cap_chan *chan); - /* Channel status callback - * - * If this callback is provided it will be called whenever the - * channel status changes. - * - * @param chan The channel which status changed - * @param status The channel status - */ - void (*status)(struct bt_l2cap_chan *chan, atomic_t *status); + /* Channel status callback + * + * If this callback is provided it will be called whenever the + * channel status changes. + * + * @param chan The channel which status changed + * @param status The channel status + */ + void (*status)(struct bt_l2cap_chan *chan, atomic_t *status); #if defined(BFLB_BLE_MTU_CHANGE_CB) - void (*mtu_changed)(struct bt_l2cap_chan *chan, u16_t mtu); + void (*mtu_changed)(struct bt_l2cap_chan *chan, u16_t mtu); #endif }; @@ -255,40 +256,40 @@ struct bt_l2cap_chan_ops { /** @brief L2CAP Server structure. */ struct bt_l2cap_server { - /** Server PSM. Possible values: - * - * 0 A dynamic value will be auto-allocated when - * bt_l2cap_server_register() is called. - * - * 0x0001-0x007f Standard, Bluetooth SIG-assigned fixed values. - * - * 0x0080-0x00ff Dynamically allocated. May be pre-set by the - * application before server registration (not - * recommended however), or auto-allocated by the - * stack if the app gave 0 as the value. - */ - u16_t psm; + /** Server PSM. Possible values: + * + * 0 A dynamic value will be auto-allocated when + * bt_l2cap_server_register() is called. + * + * 0x0001-0x007f Standard, Bluetooth SIG-assigned fixed values. + * + * 0x0080-0x00ff Dynamically allocated. May be pre-set by the + * application before server registration (not + * recommended however), or auto-allocated by the + * stack if the app gave 0 as the value. + */ + u16_t psm; - /** Required minimim security level */ - bt_security_t sec_level; + /** Required minimim security level */ + bt_security_t sec_level; - /** Server accept callback - * - * This callback is called whenever a new incoming connection requires - * authorization. - * - * @param conn The connection that is requesting authorization - * @param chan Pointer to received the allocated channel - * - * @return 0 in case of success or negative value in case of error. - * Possible return values: - * -ENOMEM if no available space for new channel. - * -EACCES if application did not authorize the connection. - * -EPERM if encryption key size is too short. - */ - int (*accept)(struct bt_conn *conn, struct bt_l2cap_chan **chan); + /** Server accept callback + * + * This callback is called whenever a new incoming connection requires + * authorization. + * + * @param conn The connection that is requesting authorization + * @param chan Pointer to received the allocated channel + * + * @return 0 in case of success or negative value in case of error. + * Possible return values: + * -ENOMEM if no available space for new channel. + * -EACCES if application did not authorize the connection. + * -EPERM if encryption key size is too short. + */ + int (*accept)(struct bt_conn *conn, struct bt_l2cap_chan **chan); - sys_snode_t node; + sys_snode_t node; }; /** @brief Register L2CAP server. @@ -342,7 +343,8 @@ int bt_l2cap_br_server_register(struct bt_l2cap_server *server); * * @return 0 in case of success or negative value in case of error. */ -int bt_l2cap_chan_connect(struct bt_conn *conn, struct bt_l2cap_chan *chan, u16_t psm); +int bt_l2cap_chan_connect(struct bt_conn *conn, struct bt_l2cap_chan *chan, + u16_t psm); /** @brief Disconnect L2CAP channel * @@ -380,7 +382,8 @@ int bt_l2cap_chan_send(struct bt_l2cap_chan *chan, struct net_buf *buf); * * @return 0 in case of success or negative value in case of error. */ -int bt_l2cap_chan_recv_complete(struct bt_l2cap_chan *chan, struct net_buf *buf); +int bt_l2cap_chan_recv_complete(struct bt_l2cap_chan *chan, + struct net_buf *buf); #ifdef __cplusplus } diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/uuid.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/uuid.h index dcfbc92e..8483b16e 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/uuid.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/bluetooth/uuid.h @@ -69,11 +69,11 @@ struct bt_uuid_128 { } #define BT_UUID_DECLARE_16(value) \ - ((struct bt_uuid *)(&(struct bt_uuid_16)BT_UUID_INIT_16(value))) + ((struct bt_uuid *)((struct bt_uuid_16[]){ BT_UUID_INIT_16(value) })) #define BT_UUID_DECLARE_32(value) \ - ((struct bt_uuid *)(&(struct bt_uuid_32)BT_UUID_INIT_32(value))) + ((struct bt_uuid *)((struct bt_uuid_32[]){ BT_UUID_INIT_32(value) })) #define BT_UUID_DECLARE_128(value...) \ - ((struct bt_uuid *)(&(struct bt_uuid_128)BT_UUID_INIT_128(value))) + ((struct bt_uuid *)((struct bt_uuid_128[]){ BT_UUID_INIT_128(value) })) #define BT_UUID_16(__u) CONTAINER_OF(__u, struct bt_uuid_16, uuid) #define BT_UUID_32(__u) CONTAINER_OF(__u, struct bt_uuid_32, uuid) diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/drivers/bluetooth/hci_driver.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/drivers/bluetooth/hci_driver.h index 2cb23d06..3bc5d40b 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/drivers/bluetooth/hci_driver.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/include/drivers/bluetooth/hci_driver.h @@ -194,10 +194,6 @@ void hci_driver_enque_recvq(struct net_buf *buf); int hci_driver_init(void); -#if (BFLB_BLE_CO_THREAD) -void co_tx_thread(); -#endif - #endif //#if (BFLB_BLE) #ifdef __cplusplus diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/bl_port.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/bl_port.c index 05687274..a4b407b8 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/bl_port.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/bl_port.c @@ -28,7 +28,6 @@ extern int bl_rand(); int ble_rand() { #if defined(CONFIG_HW_SEC_ENG_DISABLE) - extern long random(void); return random(); #else return bl_rand(); @@ -56,7 +55,7 @@ int bl_rand() { void k_queue_init(struct k_queue *queue, int size) { // int size = 20; - uint8_t blk_size = sizeof(void *) + 1; + uint8_t blk_size = sizeof(void *); queue->hdl = xQueueCreate(size, blk_size); BT_ASSERT(queue->hdl != NULL); @@ -209,17 +208,25 @@ int k_thread_create(struct k_thread *new_thread, const char *name, size_t stack_ return new_thread->task ? 0 : -1; } -void k_thread_delete(struct k_thread *new_thread) { - if (NULL == new_thread || 0 == new_thread->task) { +void k_thread_delete(struct k_thread *thread) { + if (NULL == thread || 0 == thread->task) { BT_ERR("task is NULL\n"); return; } - vTaskDelete((void *)(new_thread->task)); - new_thread->task = 0; + vTaskDelete((void *)(thread->task)); + thread->task = 0; return; } +bool k_is_current_thread(struct k_thread *thread) { + eTaskState thread_state = eTaskGetState((void *)(thread->task)); + if (thread_state == eRunning) + return true; + else + return false; +} + int k_yield(void) { taskYIELD(); return 0; @@ -307,12 +314,24 @@ void k_timer_delete(k_timer_t *timer) { long long k_now_ms(void) { return (long long)(xTaskGetTickCount() * 1000) / configTICK_RATE_HZ; } void k_get_random_byte_array(uint8_t *buf, size_t len) { - // bl_rand() return a word, but *buf may not be word-aligned + // ble_rand() return a word, but *buf may not be word-aligned for (int i = 0; i < len; i++) { *(buf + i) = (uint8_t)(ble_rand() & 0xFF); } } -void *k_malloc(size_t size) { return pvPortMalloc(size); } +void *k_malloc(size_t size) { +#if defined(CFG_USE_PSRAM) + return pvPortMallocPsram(size); +#else + return pvPortMalloc(size); +#endif /* CFG_USE_PSRAM */ +} -void k_free(void *buf) { return vPortFree(buf); } +void k_free(void *buf) { +#if defined(CFG_USE_PSRAM) + return vPortFreePsram(buf); +#else + return vPortFree(buf); +#endif +} diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/bl_port.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/bl_port.h index 266aa530..6fea9235 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/bl_port.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/bl_port.h @@ -3,11 +3,12 @@ #if defined(BL_MCU_SDK) #include "misc.h" #endif -#include +#include "ble_config.h" #include #include #include #include +#include #include #include "types.h" #include "bl_port.h" @@ -242,6 +243,8 @@ int k_thread_create(struct k_thread *new_thread, const char *name, void k_thread_delete(struct k_thread *new_thread); +bool k_is_current_thread(struct k_thread *thread); + /** * @brief Yield the current thread. */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/ble_config.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/ble_config.h index 9c4d83d6..6bb803e3 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/ble_config.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/ble_config.h @@ -2,16 +2,13 @@ #define BLE_CONFIG_H #include "FreeRTOSConfig.h" -#ifdef __cplusplus -extern "C" { -#endif /** * CONFIG_BLUETOOTH: Enable the bluetooh stack */ -//#ifndef CONFIG_BLUETOOTH -//#error "CONFIG_BLUETOOTH not defined,this header shoudn't include" -//#endif +// #ifndef CONFIG_BLUETOOTH +// #error "CONFIG_BLUETOOTH not defined,this header shoudn't include" +// #endif #ifdef CONFIG_BT_BONDABLE #undef CONFIG_BT_BONDABLE @@ -26,25 +23,25 @@ extern "C" { #define PTS_CHARC_LEN_EQUAL_MTU_SIZE #endif -//#ifndef CONFIG_BT_STACK_PTS_SM_SLA_KDU_BI_01 -//#define CONFIG_BT_STACK_PTS_SM_SLA_KDU_BI_01 -//#endif +// #ifndef CONFIG_BT_STACK_PTS_SM_SLA_KDU_BI_01 +// #define CONFIG_BT_STACK_PTS_SM_SLA_KDU_BI_01 +// #endif -//#ifndef PTS_GAP_SLAVER_CONFIG_READ_CHARC -//#define PTS_GAP_SLAVER_CONFIG_READ_CHARC -//#endif +// #ifndef PTS_GAP_SLAVER_CONFIG_READ_CHARC +// #define PTS_GAP_SLAVER_CONFIG_READ_CHARC +// #endif -//#ifndef PTS_GAP_SLAVER_CONFIG_WRITE_CHARC -//#define PTS_GAP_SLAVER_CONFIG_WRITE_CHARC -//#endif +// #ifndef PTS_GAP_SLAVER_CONFIG_WRITE_CHARC +// #define PTS_GAP_SLAVER_CONFIG_WRITE_CHARC +// #endif -//#ifndef PTS_GAP_SLAVER_CONFIG_NOTIFY_CHARC -//#define PTS_GAP_SLAVER_CONFIG_NOTIFY_CHARC -//#endif +// #ifndef PTS_GAP_SLAVER_CONFIG_NOTIFY_CHARC +// #define PTS_GAP_SLAVER_CONFIG_NOTIFY_CHARC +// #endif -//#ifndef PTS_GAP_SLAVER_CONFIG_INDICATE_CHARC -//#define PTS_GAP_SLAVER_CONFIG_INDICATE_CHARC -//#endif +// #ifndef PTS_GAP_SLAVER_CONFIG_INDICATE_CHARC +// #define PTS_GAP_SLAVER_CONFIG_INDICATE_CHARC +// #endif #define CONFIG_BT_GATT_READ_MULTIPLE 1 #endif @@ -55,13 +52,31 @@ extern "C" { #define CONFIG_BT_HCI_RX_STACK_SIZE 512 #endif +/** + * BL_BLE_CO_THREAD: combine tx rx thread + */ +#define BFLB_BT_CO_THREAD 1 + +#if (BFLB_BT_CO_THREAD) +#define CONFIG_BT_CO_TASK_PRIO (configMAX_PRIORITIES - 3) +#if defined(CONFIG_BT_MESH) +#define CONFIG_BT_CO_STACK_SIZE 3072 // 2048//1536//1024 +#else +#define CONFIG_BT_CO_STACK_SIZE 2048 // 2048//1536//1024 +#endif +#endif + #ifndef CONFIG_BT_RX_STACK_SIZE #if defined(CONFIG_BT_MESH) #define CONFIG_BT_RX_STACK_SIZE 3072 // 2048//1536//1024 #else +#if !defined(CONFIG_BT_CONN) +#define CONFIG_BT_RX_STACK_SIZE 1024 +#else #define CONFIG_BT_RX_STACK_SIZE 2048 // 1536//1024 #endif #endif +#endif #ifndef CONFIG_BT_CTLR_RX_PRIO_STACK_SIZE #define CONFIG_BT_CTLR_RX_PRIO_STACK_SIZE 156 @@ -77,8 +92,12 @@ extern "C" { */ #ifndef CONFIG_BT_HCI_TX_STACK_SIZE +#if !defined(CONFIG_BT_CONN) +#define CONFIG_BT_HCI_TX_STACK_SIZE 1024 +#else #define CONFIG_BT_HCI_TX_STACK_SIZE 1536 // 1024//200 #endif +#endif /** * CONFIG_BT_HCI_TX_PRIO: tx thread priority @@ -91,13 +110,6 @@ extern "C" { #define CONFIG_BT_CTLR_RX_PRIO (configMAX_PRIORITIES - 4) #endif -/** - * BL_BLE_CO_THREAD: combine tx rx thread - */ -#ifndef BFLB_BLE_CO_THREAD -#define BFLB_BLE_CO_THREAD 0 -#endif - /** * CONFIG_BT_HCI_CMD_COUNT: hci cmd buffer count,range 2 to 64 */ @@ -291,9 +303,13 @@ extern "C" { * range 1 to 65535,seconds */ #ifndef CONFIG_BT_RPA_TIMEOUT +#if defined(CONFIG_AUTO_PTS) +#define CONFIG_BT_RPA_TIMEOUT 60 +#else #define CONFIG_BT_RPA_TIMEOUT 900 #endif #endif +#endif /** * CONFIG_BT_GATT_DYNAMIC_DB:enables GATT services to be added dynamically to database @@ -355,7 +371,7 @@ extern "C" { #elif defined(BL702) #define CONFIG_BT_DEVICE_NAME "BL702-BLE-DEV" #else -#define CONFIG_BT_DEVICE_NAME "BL606P-BTBLE" +#define CONFIG_BT_DEVICE_NAME "BTBLE-DEV" #endif #endif #endif @@ -384,9 +400,13 @@ extern "C" { #ifndef CONFIG_BT_MESH #define CONFIG_BT_WORK_QUEUE_STACK_SIZE 1536 // 1280//512 #else +#if !defined(CONFIG_BT_CONN) +#define CONFIG_BT_WORK_QUEUE_STACK_SIZE 1024 +#else #define CONFIG_BT_WORK_QUEUE_STACK_SIZE 2048 #endif /* CONFIG_BT_MESH */ #endif +#endif /** * CONFIG_BT_WORK_QUEUE_PRIO:Work queue priority. @@ -520,7 +540,7 @@ extern "C" { #define CONFIG_BT_ID_MAX 1 #endif -//#define PTS_GAP_SLAVER_CONFIG_NOTIFY_CHARC 1 +// #define PTS_GAP_SLAVER_CONFIG_NOTIFY_CHARC 1 #ifndef CONFIG_BT_L2CAP_TX_FRAG_COUNT #define CONFIG_BT_L2CAP_TX_FRAG_COUNT 0 @@ -543,6 +563,10 @@ extern "C" { #define CONFIG_BT_PERIPHERAL_PREF_TIMEOUT 400 #endif +#ifndef CONFIG_BT_PHY_UPDATE +#define CONFIG_BT_PHY_UPDATE 1 +#endif + #if defined(CONFIG_BT_BREDR) #define CONFIG_BT_PAGE_TIMEOUT 0x2000 // 5.12s #define CONFIG_BT_L2CAP_RX_MTU 672 @@ -564,17 +588,25 @@ extern "C" { /*******************************Bouffalo Lab Modification******************************/ -//#define BFLB_BLE_DISABLE_STATIC_ATTR -//#define BFLB_BLE_DISABLE_STATIC_CHANNEL +// #define BFLB_BLE_DISABLE_STATIC_ATTR +// #define BFLB_BLE_DISABLE_STATIC_CHANNEL #define BFLB_DISABLE_BT #define BFLB_FIXED_IRK 0 #define BFLB_DYNAMIC_ALLOC_MEM +#if defined(CFG_BLE_PDS) && defined(BL702) && defined(BFLB_BLE) && defined(BFLB_DYNAMIC_ALLOC_MEM) +#define BFLB_STATIC_ALLOC_MEM 1 +#else +#define BFLB_STATIC_ALLOC_MEM 0 +#endif +#define CONFIG_BT_SCAN_WITH_IDENTITY 1 + #if defined(CONFIG_AUTO_PTS) +#define CONFIG_BT_L2CAP_DYNAMIC_CHANNEL #define CONFIG_BT_DEVICE_NAME_GATT_WRITABLE 1 #define CONFIG_BT_GATT_SERVICE_CHANGED 1 #define CONFIG_BT_GATT_CACHING 1 #define CONFIG_BT_SCAN_WITH_IDENTITY 1 -//#define CONFIG_BT_ADV_WITH_PUBLIC_ADDR 1 +// #define CONFIG_BT_ADV_WITH_PUBLIC_ADDR 1 #define CONFIG_BT_ATT_PREPARE_COUNT 64 #endif #endif // BFLB_BLE @@ -590,9 +622,11 @@ happens, which cause memory leak issue.*/ /*To avoid duplicated pubkey callback.*/ #define BFLB_BLE_PATCH_AVOID_DUPLI_PUBKEY_CB /*The flag @conn_ref is not clean up after disconnect*/ -#define BFLB_BLE_PATCH_CLEAN_UP_CONNECT_REF +// #define BFLB_BLE_PATCH_CLEAN_UP_CONNECT_REF +#if !defined(CONFIG_AUTO_PTS) /*To avoid sevice changed indication sent at the very beginning, without any new service added.*/ #define BFLB_BLE_PATCH_SET_SCRANGE_CHAGD_ONLY_IN_CONNECTED_STATE +#endif #ifdef CONFIG_BT_SETTINGS /*Semaphore is used during flash operation. Make sure that freertos has already run up when it intends to write information to flash.*/ @@ -610,10 +644,14 @@ BT_SMP_DIST_ENC_KEY bit is not cleared while remote ENC_KEY is received.*/ #define BFLB_BLE_PATCH_CLEAR_REMOTE_KEY_BIT #if defined(CONFIG_BT_CENTRAL) || defined(CONFIG_BT_OBSERVER) -// #define BFLB_BLE_NOTIFY_ADV_DISCARDED +#if defined(BL602) || defined(BL702) +#define BFLB_BLE_NOTIFY_ADV_DISCARDED #endif -#ifdef __cplusplus -}; +#endif + +#if defined(CONFIG_BT_CENTRAL) +#define BFLB_BLE_NOTIFY_ALL +#define BFLB_BLE_DISCOVER_ONGOING #endif #endif /* BLE_CONFIG_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/zephyr.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/zephyr.h index 8282ed76..2b064112 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/zephyr.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/port/include/zephyr.h @@ -2,7 +2,6 @@ #define ZEPHYR_H #include #include -#include #include #include @@ -129,7 +128,11 @@ struct k_poll_signal { } extern int k_poll_signal_raise(struct k_poll_signal *signal, int result); +#if (BFLB_BT_CO_THREAD) +extern int k_poll(struct k_poll_event *events, int num_events, int total_evt_array_cnt, s32_t timeout, u8_t *to_process); +#else extern int k_poll(struct k_poll_event *events, int num_events, s32_t timeout); +#endif extern void k_poll_event_init(struct k_poll_event *event, u32_t type, int mode, void *obj); /* public - polling modes */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/alloc.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/alloc.c deleted file mode 100644 index b9c54507..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/alloc.c +++ /dev/null @@ -1,77 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -#include -#include - -#if defined(SBC_DEC_INCLUDED) - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -PRIVATE OI_STATUS OI_CODEC_SBC_Alloc(OI_CODEC_SBC_COMMON_CONTEXT *common, OI_UINT32 *codecDataAligned, OI_UINT32 codecDataBytes, OI_UINT8 maxChannels, OI_UINT8 pcmStride) { - int i; - size_t filterBufferCount; - size_t subdataSize; - OI_BYTE *codecData = (OI_BYTE *)codecDataAligned; - - if (maxChannels < 1 || maxChannels > 2) { - return OI_STATUS_INVALID_PARAMETERS; - } - - if (pcmStride < 1 || pcmStride > maxChannels) { - return OI_STATUS_INVALID_PARAMETERS; - } - - common->maxChannels = maxChannels; - common->pcmStride = pcmStride; - - /* Compute sizes needed for the memory regions, and bail if we don't have - * enough memory for them. */ - subdataSize = maxChannels * sizeof(common->subdata[0]) * SBC_MAX_BANDS * SBC_MAX_BLOCKS; - if (subdataSize > codecDataBytes) { - return OI_STATUS_OUT_OF_MEMORY; - } - - filterBufferCount = (codecDataBytes - subdataSize) / (sizeof(common->filterBuffer[0][0]) * SBC_MAX_BANDS * maxChannels); - if (filterBufferCount < SBC_CODEC_MIN_FILTER_BUFFERS) { - return OI_STATUS_OUT_OF_MEMORY; - } - common->filterBufferLen = filterBufferCount * SBC_MAX_BANDS; - - /* Allocate memory for the subband data */ - common->subdata = (OI_INT32 *)codecData; - codecData += subdataSize; - OI_ASSERT(codecDataBytes >= subdataSize); - codecDataBytes -= subdataSize; - - /* Allocate memory for the synthesis buffers */ - for (i = 0; i < maxChannels; ++i) { - size_t allocSize = common->filterBufferLen * sizeof(common->filterBuffer[0][0]); - common->filterBuffer[i] = (SBC_BUFFER_T *)codecData; - OI_ASSERT(codecDataBytes >= allocSize); - codecData += allocSize; - codecDataBytes -= allocSize; - } - - return OI_OK; -} - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitalloc-sbc.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitalloc-sbc.c deleted file mode 100644 index f903dc8a..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitalloc-sbc.c +++ /dev/null @@ -1,149 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** @file -@ingroup codec_internal -*/ - -/**@addgroup codec_internal*/ -/**@{*/ -#include - -#if defined(SBC_DEC_INCLUDED) - -static void dualBitAllocation(OI_CODEC_SBC_COMMON_CONTEXT *common) { - OI_UINT bitcountL; - OI_UINT bitcountR; - OI_UINT bitpoolPreferenceL = 0; - OI_UINT bitpoolPreferenceR = 0; - BITNEED_UNION1 bitneedsL; - BITNEED_UNION1 bitneedsR; - - bitcountL = computeBitneed(common, bitneedsL.uint8, 0, &bitpoolPreferenceL); - bitcountR = computeBitneed(common, bitneedsR.uint8, 1, &bitpoolPreferenceR); - - oneChannelBitAllocation(common, &bitneedsL, 0, bitcountL); - oneChannelBitAllocation(common, &bitneedsR, 1, bitcountR); -} - -static void stereoBitAllocation(OI_CODEC_SBC_COMMON_CONTEXT *common) { - const OI_UINT nrof_subbands = common->frameInfo.nrof_subbands; - BITNEED_UNION2 bitneeds; - OI_UINT excess; - OI_INT bitadjust; - OI_UINT bitcount; - OI_UINT sbL; - OI_UINT sbR; - OI_UINT bitpoolPreference = 0; - - bitcount = computeBitneed(common, &bitneeds.uint8[0], 0, &bitpoolPreference); - bitcount += computeBitneed(common, &bitneeds.uint8[nrof_subbands], 1, &bitpoolPreference); - - { - OI_UINT ex; - bitadjust = adjustToFitBitpool(common->frameInfo.bitpool, bitneeds.uint32, 2 * nrof_subbands, bitcount, &ex); - /* We want the compiler to put excess into a register */ - excess = ex; - } - sbL = 0; - sbR = nrof_subbands; - while (sbL < nrof_subbands) { - excess = allocAdjustedBits(&common->bits.uint8[sbL], bitneeds.uint8[sbL] + bitadjust, excess); - ++sbL; - excess = allocAdjustedBits(&common->bits.uint8[sbR], bitneeds.uint8[sbR] + bitadjust, excess); - ++sbR; - } - sbL = 0; - sbR = nrof_subbands; - while (excess) { - excess = allocExcessBits(&common->bits.uint8[sbL], excess); - ++sbL; - if (!excess) { - break; - } - excess = allocExcessBits(&common->bits.uint8[sbR], excess); - ++sbR; - } -} - -static const BIT_ALLOC balloc[] = { - monoBitAllocation, /* SBC_MONO */ - dualBitAllocation, /* SBC_DUAL_CHANNEL */ - stereoBitAllocation, /* SBC_STEREO */ - stereoBitAllocation /* SBC_JOINT_STEREO */ -}; - -PRIVATE void OI_SBC_ComputeBitAllocation(OI_CODEC_SBC_COMMON_CONTEXT *common) { - OI_ASSERT(common->frameInfo.bitpool <= OI_SBC_MaxBitpool(&common->frameInfo)); - OI_ASSERT(common->frameInfo.mode < OI_ARRAYSIZE(balloc)); - - /* - * Using an array of function pointers prevents the compiler from creating a suboptimal - * monolithic inlined bit allocation function. - */ - balloc[common->frameInfo.mode](common); -} - -OI_UINT32 OI_CODEC_SBC_CalculateBitrate(OI_CODEC_SBC_FRAME_INFO *frame) { return internal_CalculateBitrate(frame); } - -/* - * Return the current maximum bitneed and clear it. - */ -OI_UINT8 OI_CODEC_SBC_GetMaxBitneed(OI_CODEC_SBC_COMMON_CONTEXT *common) { - OI_UINT8 max = common->maxBitneed; - - common->maxBitneed = 0; - return max; -} - -/* - * Calculates the bitpool size for a given frame length - */ -OI_UINT16 OI_CODEC_SBC_CalculateBitpool(OI_CODEC_SBC_FRAME_INFO *frame, OI_UINT16 frameLen) { - OI_UINT16 nrof_subbands = frame->nrof_subbands; - OI_UINT16 nrof_blocks = frame->nrof_blocks; - OI_UINT16 hdr; - OI_UINT16 bits; - - if (frame->mode == SBC_JOINT_STEREO) { - hdr = 9 * nrof_subbands; - } else { - if (frame->mode == SBC_MONO) { - hdr = 4 * nrof_subbands; - } else { - hdr = 8 * nrof_subbands; - } - if (frame->mode == SBC_DUAL_CHANNEL) { - nrof_blocks *= 2; - } - } - bits = 8 * (frameLen - SBC_HEADER_LEN) - hdr; - return DIVIDE(bits, nrof_blocks); -} - -OI_UINT16 OI_CODEC_SBC_CalculatePcmBytes(OI_CODEC_SBC_COMMON_CONTEXT *common) { return sizeof(OI_INT16) * common->pcmStride * common->frameInfo.nrof_subbands * common->frameInfo.nrof_blocks; } - -OI_UINT16 OI_CODEC_SBC_CalculateFramelen(OI_CODEC_SBC_FRAME_INFO *frame) { return internal_CalculateFramelen(frame); } - -/**@}*/ -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitalloc.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitalloc.c deleted file mode 100644 index 8954dfb3..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitalloc.c +++ /dev/null @@ -1,370 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ - ***********************************************************************************/ - -/** -@file - -The functions in this file relate to the allocation of available bits to -subbands within the SBC/eSBC frame, along with support functions for computing -frame length and bitrate. - -@ingroup codec_internal -*/ - -/** -@addtogroup codec_internal -@{ -*/ - -#include "oi_utils.h" -#include - -#if defined(SBC_DEC_INCLUDED) - -OI_UINT32 OI_SBC_MaxBitpool(OI_CODEC_SBC_FRAME_INFO *frame) { - switch (frame->mode) { - case SBC_MONO: - case SBC_DUAL_CHANNEL: - return 16 * frame->nrof_subbands; - case SBC_STEREO: - case SBC_JOINT_STEREO: - return 32 * frame->nrof_subbands; - } - - ERROR(("Invalid frame mode %d", frame->mode)); - OI_ASSERT(FALSE); - return 0; /* Should never be reached */ -} - -PRIVATE OI_UINT16 internal_CalculateFramelen(OI_CODEC_SBC_FRAME_INFO *frame) { - OI_UINT16 nbits = frame->nrof_blocks * frame->bitpool; - OI_UINT16 nrof_subbands = frame->nrof_subbands; - OI_UINT16 result = nbits; - - if (frame->mode == SBC_JOINT_STEREO) { - result += nrof_subbands + (8 * nrof_subbands); - } else { - if (frame->mode == SBC_DUAL_CHANNEL) { - result += nbits; - } - if (frame->mode == SBC_MONO) { - result += 4 * nrof_subbands; - } else { - result += 8 * nrof_subbands; - } - } - return SBC_HEADER_LEN + (result + 7) / 8; -} - -PRIVATE OI_UINT32 internal_CalculateBitrate(OI_CODEC_SBC_FRAME_INFO *frame) { - OI_UINT blocksbands; - blocksbands = frame->nrof_subbands * frame->nrof_blocks; - - return DIVIDE(8 * internal_CalculateFramelen(frame) * frame->frequency, blocksbands); -} - -INLINE OI_UINT16 OI_SBC_CalculateFrameAndHeaderlen(OI_CODEC_SBC_FRAME_INFO *frame, OI_UINT *headerLen_) { - OI_UINT headerLen = SBC_HEADER_LEN + frame->nrof_subbands * frame->nrof_channels / 2; - - if (frame->mode == SBC_JOINT_STEREO) { - headerLen++; - } - - *headerLen_ = headerLen; - return internal_CalculateFramelen(frame); -} - -#define MIN(x, y) ((x) < (y) ? (x) : (y)) - -/* - * Computes the bit need for each sample and as also returns a counts of bit needs that are greater - * than one. This count is used in the first phase of bit allocation. - * - * We also compute a preferred bitpool value that this is the minimum bitpool needed to guarantee - * lossless representation of the audio data. The preferred bitpool may be larger than the bits - * actually required but the only input we have are the scale factors. For example, it takes 2 bits - * to represent values in the range -1 .. +1 but the scale factor is 0. To guarantee lossless - * representation we add 2 to each scale factor and sum them to come up with the preferred bitpool. - * This is not ideal because 0 requires 0 bits but we currently have no way of knowing this. - * - * @param bitneed Array to return bitneeds for each subband - * - * @param ch Channel 0 or 1 - * - * @param preferredBitpool Returns the number of reserved bits - * - * @return The SBC bit need - * - */ -OI_UINT computeBitneed(OI_CODEC_SBC_COMMON_CONTEXT *common, OI_UINT8 *bitneeds, OI_UINT ch, OI_UINT *preferredBitpool) { - static const OI_INT8 offset4[4][4] = { - {-1, 0, 0, 0}, - {-2, 0, 0, 1}, - {-2, 0, 0, 1}, - {-2, 0, 0, 1} - }; - - static const OI_INT8 offset8[4][8] = { - {-2, 0, 0, 0, 0, 0, 0, 1}, - {-3, 0, 0, 0, 0, 0, 1, 2}, - {-4, 0, 0, 0, 0, 0, 1, 2}, - {-4, 0, 0, 0, 0, 0, 1, 2} - }; - - const OI_UINT nrof_subbands = common->frameInfo.nrof_subbands; - OI_UINT sb; - OI_INT8 *scale_factor = &common->scale_factor[ch ? nrof_subbands : 0]; - OI_UINT bitcount = 0; - OI_UINT8 maxBits = 0; - OI_UINT8 prefBits = 0; - - if (common->frameInfo.alloc == SBC_SNR) { - for (sb = 0; sb < nrof_subbands; sb++) { - OI_INT bits = scale_factor[sb]; - if (bits > maxBits) { - maxBits = bits; - } - if ((bitneeds[sb] = bits) > 1) { - bitcount += bits; - } - prefBits += 2 + bits; - } - } else { - const OI_INT8 *offset; - if (nrof_subbands == 4) { - offset = offset4[common->frameInfo.freqIndex]; - } else { - offset = offset8[common->frameInfo.freqIndex]; - } - for (sb = 0; sb < nrof_subbands; sb++) { - OI_INT bits = scale_factor[sb]; - if (bits > maxBits) { - maxBits = bits; - } - prefBits += 2 + bits; - if (bits) { - bits -= offset[sb]; - if (bits > 0) { - bits /= 2; - } - bits += 5; - } - if ((bitneeds[sb] = bits) > 1) { - bitcount += bits; - } - } - } - common->maxBitneed = OI_MAX(maxBits, common->maxBitneed); - *preferredBitpool += prefBits; - return bitcount; -} - -/* - * Explanation of the adjustToFitBitpool inner loop. - * - * The inner loop computes the effect of adjusting the bit allocation up or - * down. Allocations must be 0 or in the range 2..16. This is accomplished by - * the following code: - * - * for (s = bands - 1; s >= 0; --s) { - * OI_INT bits = bitadjust + bitneeds[s]; - * bits = bits < 2 ? 0 : bits; - * bits = bits > 16 ? 16 : bits; - * count += bits; - * } - * - * This loop can be optimized to perform 4 operations at a time as follows: - * - * Adjustment is computed as a 7 bit signed value and added to the bitneed. - * - * Negative allocations are zeroed by masking. (n & 0x40) >> 6 puts the - * sign bit into bit 0, adding this to 0x7F give us a mask of 0x80 - * for -ve values and 0x7F for +ve values. - * - * n &= 0x7F + (n & 0x40) >> 6) - * - * Allocations greater than 16 are truncated to 16. Adjusted allocations are in - * the range 0..31 so we know that bit 4 indicates values >= 16. We use this bit - * to create a mask that zeroes bits 0 .. 3 if bit 4 is set. - * - * n &= (15 + (n >> 4)) - * - * Allocations of 1 are disallowed. Add and shift creates a mask that - * eliminates the illegal value - * - * n &= ((n + 14) >> 4) | 0x1E - * - * These operations can be performed in 8 bits without overflowing so we can - * operate on 4 values at once. - */ - -/* - * Encoder/Decoder - * - * Computes adjustment +/- of bitneeds to fill bitpool and returns overall - * adjustment and excess bits. - * - * @param bitpool The bitpool we have to work within - * - * @param bitneeds An array of bit needs (more acturately allocation prioritities) for each - * subband across all blocks in the SBC frame - * - * @param subbands The number of subbands over which the adkustment is calculated. For mono and - * dual mode this is 4 or 8, for stereo or joint stereo this is 8 or 16. - * - * @param bitcount A starting point for the adjustment - * - * @param excess Returns the excess bits after the adjustment - * - * @return The adjustment. - */ -OI_INT adjustToFitBitpool(const OI_UINT bitpool, OI_UINT32 *bitneeds, const OI_UINT subbands, OI_UINT bitcount, OI_UINT *excess) { - OI_INT maxBitadjust = 0; - OI_INT bitadjust = (bitcount > bitpool) ? -8 : 8; - OI_INT chop = 8; - - /* - * This is essentially a binary search for the optimal adjustment value. - */ - while ((bitcount != bitpool) && chop) { - OI_UINT32 total = 0; - OI_UINT count; - OI_UINT32 adjust4; - OI_INT i; - - adjust4 = bitadjust & 0x7F; - adjust4 |= (adjust4 << 8); - adjust4 |= (adjust4 << 16); - - for (i = (subbands / 4 - 1); i >= 0; --i) { - OI_UINT32 mask; - OI_UINT32 n = bitneeds[i] + adjust4; - mask = 0x7F7F7F7F + ((n & 0x40404040) >> 6); - n &= mask; - mask = 0x0F0F0F0F + ((n & 0x10101010) >> 4); - n &= mask; - mask = (((n + 0x0E0E0E0E) >> 4) | 0x1E1E1E1E); - n &= mask; - total += n; - } - - count = (total & 0xFFFF) + (total >> 16); - count = (count & 0xFF) + (count >> 8); - - chop >>= 1; - if (count > bitpool) { - bitadjust -= chop; - } else { - maxBitadjust = bitadjust; - bitcount = count; - bitadjust += chop; - } - } - - *excess = bitpool - bitcount; - - return maxBitadjust; -} - -/* - * The bit allocator trys to avoid single bit allocations except as a last resort. So in the case - * where a bitneed of 1 was passed over during the adsjustment phase 2 bits are now allocated. - */ -INLINE OI_INT allocAdjustedBits(OI_UINT8 *dest, OI_INT bits, OI_INT excess) { - if (bits < 16) { - if (bits > 1) { - if (excess) { - ++bits; - --excess; - } - } else if ((bits == 1) && (excess > 1)) { - bits = 2; - excess -= 2; - } else { - bits = 0; - } - } else { - bits = 16; - } - *dest = (OI_UINT8)bits; - return excess; -} - -/* - * Excess bits not allocated by allocaAdjustedBits are allocated round-robin. - */ -INLINE OI_INT allocExcessBits(OI_UINT8 *dest, OI_INT excess) { - if (*dest < 16) { - *dest += 1; - return excess - 1; - } else { - return excess; - } -} - -void oneChannelBitAllocation(OI_CODEC_SBC_COMMON_CONTEXT *common, BITNEED_UNION1 *bitneeds, OI_UINT ch, OI_UINT bitcount) { - const OI_UINT8 nrof_subbands = common->frameInfo.nrof_subbands; - OI_UINT excess; - OI_UINT sb; - OI_INT bitadjust; - OI_UINT8 RESTRICT *allocBits; - - { - OI_UINT ex; - bitadjust = adjustToFitBitpool(common->frameInfo.bitpool, bitneeds->uint32, nrof_subbands, bitcount, &ex); - /* We want the compiler to put excess into a register */ - excess = ex; - } - - /* - * Allocate adjusted bits - */ - allocBits = &common->bits.uint8[ch ? nrof_subbands : 0]; - - sb = 0; - while (sb < nrof_subbands) { - excess = allocAdjustedBits(&allocBits[sb], bitneeds->uint8[sb] + bitadjust, excess); - ++sb; - } - sb = 0; - while (excess) { - excess = allocExcessBits(&allocBits[sb], excess); - ++sb; - } -} - -void monoBitAllocation(OI_CODEC_SBC_COMMON_CONTEXT *common) { - BITNEED_UNION1 bitneeds; - OI_UINT bitcount; - OI_UINT bitpoolPreference = 0; - - bitcount = computeBitneed(common, bitneeds.uint8, 0, &bitpoolPreference); - - oneChannelBitAllocation(common, &bitneeds, 0, bitcount); -} - -/** -@} -*/ - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitstream-decode.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitstream-decode.c deleted file mode 100644 index 43d2e61e..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/bitstream-decode.c +++ /dev/null @@ -1,89 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** -@file -Functions for manipulating input bitstreams. - -@ingroup codec_internal -*/ - -/** -@addtogroup codec_internal -@{ -*/ - -#include "oi_assert.h" -#include "oi_bitstream.h" -#include "oi_stddefs.h" - -#if defined(SBC_DEC_INCLUDED) - -PRIVATE void OI_BITSTREAM_ReadInit(OI_BITSTREAM *bs, const OI_BYTE *buffer) { - bs->value = ((OI_INT32)buffer[0] << 16) | ((OI_INT32)buffer[1] << 8) | (buffer[2]); - bs->ptr.r = buffer + 3; - bs->bitPtr = 8; -} - -PRIVATE OI_UINT32 OI_BITSTREAM_ReadUINT(OI_BITSTREAM *bs, OI_UINT bits) { - OI_UINT32 result; - - OI_BITSTREAM_READUINT(result, bits, bs->ptr.r, bs->value, bs->bitPtr); - - return result; -} - -PRIVATE OI_UINT8 OI_BITSTREAM_ReadUINT4Aligned(OI_BITSTREAM *bs) { - OI_UINT32 result; - - OI_ASSERT(bs->bitPtr < 16); - OI_ASSERT(bs->bitPtr % 4 == 0); - - if (bs->bitPtr == 8) { - result = bs->value << 8; - bs->bitPtr = 12; - } else { - result = bs->value << 12; - bs->value = (bs->value << 8) | *bs->ptr.r++; - bs->bitPtr = 8; - } - result >>= 28; - OI_ASSERT(result < (1u << 4)); - return (OI_UINT8)result; -} - -PRIVATE OI_UINT8 OI_BITSTREAM_ReadUINT8Aligned(OI_BITSTREAM *bs) { - OI_UINT32 result; - OI_ASSERT(bs->bitPtr == 8); - - result = bs->value >> 16; - bs->value = (bs->value << 8) | *bs->ptr.r++; - - return (OI_UINT8)result; -} - -/** -@} -*/ - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-oina.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-oina.c deleted file mode 100644 index 78d6ab90..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-oina.c +++ /dev/null @@ -1,116 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2006 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ - ***********************************************************************************/ - -/** -@file -This file exposes OINA-specific interfaces to decoder functions. - -@ingroup codec_internal -*/ - -/** -@addtogroup codec_internal -@{ -*/ - -#include - -#if defined(SBC_DEC_INCLUDED) - -OI_STATUS OI_CODEC_SBC_DecoderConfigureRaw(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_BOOL enhanced, OI_UINT8 frequency, OI_UINT8 mode, OI_UINT8 subbands, OI_UINT8 blocks, OI_UINT8 alloc, - OI_UINT8 maxBitpool) { - if (frequency > SBC_FREQ_48000) { - return OI_STATUS_INVALID_PARAMETERS; - } - - if (enhanced) { -#ifdef SBC_ENHANCED - if (subbands != SBC_SUBBANDS_8) { - return OI_STATUS_INVALID_PARAMETERS; - } -#else - return OI_STATUS_INVALID_PARAMETERS; -#endif - } - - if (mode > SBC_JOINT_STEREO) { - return OI_STATUS_INVALID_PARAMETERS; - } - - if (subbands > SBC_SUBBANDS_8) { - return OI_STATUS_INVALID_PARAMETERS; - } - - if (blocks > SBC_BLOCKS_16) { - return OI_STATUS_INVALID_PARAMETERS; - } - - if (alloc > SBC_SNR) { - return OI_STATUS_INVALID_PARAMETERS; - } - -#ifdef SBC_ENHANCED - context->common.frameInfo.enhanced = enhanced; -#else - context->common.frameInfo.enhanced = FALSE; -#endif - context->common.frameInfo.freqIndex = frequency; - context->common.frameInfo.mode = mode; - context->common.frameInfo.subbands = subbands; - context->common.frameInfo.blocks = blocks; - context->common.frameInfo.alloc = alloc; - context->common.frameInfo.bitpool = maxBitpool; - - OI_SBC_ExpandFrameFields(&context->common.frameInfo); - - if (context->common.frameInfo.nrof_channels >= context->common.pcmStride) { - return OI_STATUS_INVALID_PARAMETERS; - } - - return OI_OK; -} - -OI_STATUS OI_CODEC_SBC_DecodeRaw(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_UINT8 bitpool, const OI_BYTE **frameData, OI_UINT32 *frameBytes, OI_INT16 *pcmData, OI_UINT32 *pcmBytes) { - return internal_DecodeRaw(context, bitpool, frameData, frameBytes, pcmData, pcmBytes); -} - -OI_STATUS OI_CODEC_SBC_DecoderLimit(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_BOOL enhanced, OI_UINT8 subbands) { - if (enhanced) { -#ifdef SBC_ENHANCED - context->enhancedEnabled = TRUE; -#else - context->enhancedEnabled = FALSE; -#endif - } else { - context->enhancedEnabled = FALSE; - } - context->restrictSubbands = subbands; - context->limitFrameFormat = TRUE; - return OI_OK; -} - -/** -@} -*/ - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-private.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-private.c deleted file mode 100644 index 41feeb3a..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-private.c +++ /dev/null @@ -1,243 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ - ***********************************************************************************/ - -/** -@file -This file drives SBC decoding. - -@ingroup codec_internal -*/ - -/** -@addtogroup codec_internal -@{ -*/ - -#include "oi_bitstream.h" -#include "oi_codec_sbc_private.h" -#include - -#if defined(SBC_DEC_INCLUDED) - -OI_CHAR *const OI_Codec_Copyright = "Copyright 2002-2007 Open Interface North America, Inc. All rights reserved"; - -INLINE OI_STATUS internal_DecoderReset(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_UINT32 *decoderData, OI_UINT32 decoderDataBytes, OI_BYTE maxChannels, OI_BYTE pcmStride, OI_BOOL enhanced, - OI_BOOL msbc_enable) { - OI_UINT i; - OI_STATUS status; - - for (i = 0; i < sizeof(*context); i++) { - ((char *)context)[i] = 0; - } - -#ifdef SBC_ENHANCED - context->enhancedEnabled = enhanced ? TRUE : FALSE; -#else - context->enhancedEnabled = FALSE; - if (enhanced) { - return OI_STATUS_INVALID_PARAMETERS; - } -#endif - - if (msbc_enable) { - context->sbc_mode = OI_SBC_MODE_MSBC; - } else { - context->sbc_mode = OI_SBC_MODE_STD; - } - - status = OI_CODEC_SBC_Alloc(&context->common, decoderData, decoderDataBytes, maxChannels, pcmStride); - - if (!OI_SUCCESS(status)) { - return status; - } - - context->common.codecInfo = OI_Codec_Copyright; - context->common.maxBitneed = 0; - context->limitFrameFormat = FALSE; - OI_SBC_ExpandFrameFields(&context->common.frameInfo); - - /*PLATFORM_DECODER_RESET(context);*/ - - return OI_OK; -} - -/** - * Read the SBC header up to but not including the joint stereo mask. The syncword has already been - * examined, and the enhanced mode flag set, by FindSyncword. - */ -INLINE void OI_SBC_ReadHeader(OI_CODEC_SBC_COMMON_CONTEXT *common, const OI_BYTE *data) { - OI_CODEC_SBC_FRAME_INFO *frame = &common->frameInfo; - OI_UINT8 d1; - - OI_ASSERT(data[0] == OI_SBC_SYNCWORD || data[0] == OI_SBC_ENHANCED_SYNCWORD || data[0] == OI_mSBC_SYNCWORD); - - /** - * For mSBC, just set those parameters - */ - if (data[0] == OI_mSBC_SYNCWORD) { - frame->freqIndex = 0; - frame->frequency = 16000; - - frame->blocks = 4; - frame->nrof_blocks = 15; - - frame->mode = 0; - frame->nrof_channels = 1; - - frame->alloc = SBC_LOUDNESS; - - frame->subbands = 1; - frame->nrof_subbands = 8; - - frame->cachedInfo = 0; - - frame->bitpool = 26; - frame->crc = data[3]; - return; - } - - /* Avoid filling out all these strucutures if we already remember the values - * from last time. Just in case we get a stream corresponding to data[1] == - * 0, DecoderReset is responsible for ensuring the lookup table entries have - * already been populated - */ - d1 = data[1]; - if (d1 != frame->cachedInfo) { - frame->freqIndex = (d1 & (BIT7 | BIT6)) >> 6; - frame->frequency = freq_values[frame->freqIndex]; - - frame->blocks = (d1 & (BIT5 | BIT4)) >> 4; - frame->nrof_blocks = block_values[frame->blocks]; - - frame->mode = (d1 & (BIT3 | BIT2)) >> 2; - frame->nrof_channels = channel_values[frame->mode]; - - frame->alloc = (d1 & BIT1) >> 1; - - frame->subbands = (d1 & BIT0); - frame->nrof_subbands = band_values[frame->subbands]; - - frame->cachedInfo = d1; - } - /* - * For decode, the bit allocator needs to know the bitpool value - */ - frame->bitpool = data[2]; - frame->crc = data[3]; -} - -#define LOW(x) ((x) & 0xf) -#define HIGH(x) ((x) >> 4) - -/* - * Read scalefactor values and prepare the bitstream for OI_SBC_ReadSamples - */ -PRIVATE void OI_SBC_ReadScalefactors(OI_CODEC_SBC_COMMON_CONTEXT *common, const OI_BYTE *b, OI_BITSTREAM *bs) { - OI_UINT i = common->frameInfo.nrof_subbands * common->frameInfo.nrof_channels; - OI_INT8 *scale_factor = common->scale_factor; - OI_UINT f; - - if (common->frameInfo.nrof_subbands == 8 || common->frameInfo.mode != SBC_JOINT_STEREO) { - if (common->frameInfo.mode == SBC_JOINT_STEREO) { - common->frameInfo.join = *b++; - } else { - common->frameInfo.join = 0; - } - i /= 2; - do { - *scale_factor++ = HIGH(f = *b++); - *scale_factor++ = LOW(f); - } while (--i); - /* - * In this case we know that the scale factors end on a byte boundary so all we need to do - * is initialize the bitstream. - */ - OI_BITSTREAM_ReadInit(bs, b); - } else { - OI_ASSERT(common->frameInfo.nrof_subbands == 4 && common->frameInfo.mode == SBC_JOINT_STEREO); - common->frameInfo.join = HIGH(f = *b++); - i = (i - 1) / 2; - do { - *scale_factor++ = LOW(f); - *scale_factor++ = HIGH(f = *b++); - } while (--i); - *scale_factor++ = LOW(f); - /* - * In 4-subband joint stereo mode, the joint stereo information ends on a half-byte - * boundary, so it's necessary to use the bitstream abstraction to read it, since - * OI_SBC_ReadSamples will need to pick up in mid-byte. - */ - OI_BITSTREAM_ReadInit(bs, b); - *scale_factor++ = OI_BITSTREAM_ReadUINT4Aligned(bs); - } -} - -/** Read quantized subband samples from the input bitstream and expand them. */ -PRIVATE void OI_SBC_ReadSamples(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_BITSTREAM *global_bs) { - OI_CODEC_SBC_COMMON_CONTEXT *common = &context->common; - OI_UINT nrof_blocks = common->frameInfo.nrof_blocks; - OI_INT32 *RESTRICT s = common->subdata; - OI_UINT8 *ptr = global_bs->ptr.w; - OI_UINT32 value = global_bs->value; - OI_UINT bitPtr = global_bs->bitPtr; - - const OI_UINT iter_count = common->frameInfo.nrof_channels * common->frameInfo.nrof_subbands / 4; - do { - OI_UINT i; - for (i = 0; i < iter_count; ++i) { - OI_UINT32 sf_by4 = ((OI_UINT32 *)common->scale_factor)[i]; - OI_UINT32 bits_by4 = common->bits.uint32[i]; - OI_UINT n; - for (n = 0; n < 4; ++n) { - OI_INT32 dequant; - OI_UINT bits; - OI_INT sf; - - if (OI_CPU_BYTE_ORDER == OI_LITTLE_ENDIAN_BYTE_ORDER) { - bits = bits_by4 & 0xFF; - bits_by4 >>= 8; - sf = sf_by4 & 0xFF; - sf_by4 >>= 8; - } else { - bits = (bits_by4 >> 24) & 0xFF; - bits_by4 <<= 8; - sf = (sf_by4 >> 24) & 0xFF; - sf_by4 <<= 8; - } - if (bits) { - OI_UINT32 raw; - OI_BITSTREAM_READUINT(raw, bits, ptr, value, bitPtr); - dequant = OI_SBC_Dequant(raw, sf, bits); - } else { - dequant = 0; - } - *s++ = dequant; - } - } - } while (--nrof_blocks); -} - -/** -@} -*/ -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-sbc.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-sbc.c deleted file mode 100644 index 01f79559..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/decoder-sbc.c +++ /dev/null @@ -1,433 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2006 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ - ***********************************************************************************/ - -/** @file -@ingroup codec_internal -*/ - -/**@addtogroup codec_internal */ -/**@{*/ - -#include "oi_bitstream.h" -#include "oi_codec_sbc_private.h" - -#if defined(SBC_DEC_INCLUDED) - -#define SPECIALIZE_READ_SAMPLES_JOINT - -/** - * Scans through a buffer looking for a codec syncword. If the decoder has been - * set for enhanced operation using OI_CODEC_SBC_DecoderReset(), it will search - * for both a standard and an enhanced syncword. - */ -PRIVATE OI_STATUS FindSyncword(OI_CODEC_SBC_DECODER_CONTEXT *context, const OI_BYTE **frameData, OI_UINT32 *frameBytes) { -#ifdef SBC_ENHANCED - OI_BYTE search1 = OI_SBC_SYNCWORD; - OI_BYTE search2 = OI_SBC_ENHANCED_SYNCWORD; -#endif // SBC_ENHANCED - - if (*frameBytes == 0) { - return OI_CODEC_SBC_NOT_ENOUGH_HEADER_DATA; - } - -#ifdef SBC_ENHANCED - if (context->limitFrameFormat && context->enhancedEnabled) { - /* If the context is restricted, only search for specified SYNCWORD */ - search1 = search2; - } else if (context->enhancedEnabled == FALSE) { - /* If enhanced is not enabled, only search for classic SBC SYNCWORD*/ - search2 = search1; - } - while (*frameBytes && (**frameData != search1) && (**frameData != search2)) { - (*frameBytes)--; - (*frameData)++; - } - if (*frameBytes) { - /* Syncword found, *frameData points to it, and *frameBytes correctly - * reflects the number of bytes available to read, including the - * syncword. */ - context->common.frameInfo.enhanced = (**frameData == OI_SBC_ENHANCED_SYNCWORD); - return OI_OK; - } else { - /* No syncword was found anywhere in the provided input data. - * *frameData points past the end of the original input, and - * *frameBytes is 0. */ - return OI_CODEC_SBC_NO_SYNCWORD; - } -#else // SBC_ENHANCED - while (*frameBytes && (!(context->sbc_mode == OI_SBC_MODE_STD && **frameData == OI_SBC_SYNCWORD)) && (!(context->sbc_mode == OI_SBC_MODE_MSBC && **frameData == OI_mSBC_SYNCWORD))) { - (*frameBytes)--; - (*frameData)++; - } - if (*frameBytes) { - /* Syncword found, *frameData points to it, and *frameBytes correctly - * reflects the number of bytes available to read, including the - * syncword. */ - context->common.frameInfo.enhanced = FALSE; - return OI_OK; - } else { - /* No syncword was found anywhere in the provided input data. - * *frameData points past the end of the original input, and - * *frameBytes is 0. */ - return OI_CODEC_SBC_NO_SYNCWORD; - } -#endif // SBC_ENHANCED -} - -static OI_STATUS DecodeBody(OI_CODEC_SBC_DECODER_CONTEXT *context, const OI_BYTE *bodyData, OI_INT16 *pcmData, OI_UINT32 *pcmBytes, OI_BOOL allowPartial) { - OI_BITSTREAM bs; - OI_UINT frameSamples = context->common.frameInfo.nrof_blocks * context->common.frameInfo.nrof_subbands; - OI_UINT decode_block_count; - - /* - * Based on the header data, make sure that there is enough room to write the output samples. - */ - if (*pcmBytes < (sizeof(OI_INT16) * frameSamples * context->common.pcmStride) && !allowPartial) { - /* If we're not allowing partial decodes, we need room for the entire - * codec frame */ - TRACE(("-OI_CODEC_SBC_Decode: OI_CODEC_SBC_NOT_ENOUGH_AUDIO_DATA")); - return OI_CODEC_SBC_NOT_ENOUGH_AUDIO_DATA; - } else if (*pcmBytes < sizeof(OI_INT16) * context->common.frameInfo.nrof_subbands * context->common.pcmStride) { - /* Even if we're allowing partials, we can still only decode on a frame - * boundary */ - return OI_CODEC_SBC_NOT_ENOUGH_AUDIO_DATA; - } - - if (context->bufferedBlocks == 0) { - TRACE(("Reading scalefactors")); - OI_SBC_ReadScalefactors(&context->common, bodyData, &bs); - - TRACE(("Computing bit allocation")); - OI_SBC_ComputeBitAllocation(&context->common); - - TRACE(("Reading samples")); - if (context->common.frameInfo.mode == SBC_JOINT_STEREO) { - OI_SBC_ReadSamplesJoint(context, &bs); - } else { - OI_SBC_ReadSamples(context, &bs); - } - - context->bufferedBlocks = context->common.frameInfo.nrof_blocks; - } - - if (allowPartial) { - decode_block_count = *pcmBytes / sizeof(OI_INT16) / context->common.pcmStride / context->common.frameInfo.nrof_subbands; - - if (decode_block_count > context->bufferedBlocks) { - decode_block_count = context->bufferedBlocks; - } - - } else { - decode_block_count = context->common.frameInfo.nrof_blocks; - } - - TRACE(("Synthesizing frame")); - { - OI_UINT start_block = context->common.frameInfo.nrof_blocks - context->bufferedBlocks; - OI_SBC_SynthFrame(context, pcmData, start_block, decode_block_count); - } - - OI_ASSERT(context->bufferedBlocks >= decode_block_count); - context->bufferedBlocks -= decode_block_count; - - frameSamples = decode_block_count * context->common.frameInfo.nrof_subbands; - - /* - * When decoding mono into a stride-2 array, copy pcm data to second channel - */ - if (context->common.frameInfo.nrof_channels == 1 && context->common.pcmStride == 2) { - OI_UINT i; - for (i = 0; i < frameSamples; ++i) { - pcmData[2 * i + 1] = pcmData[2 * i]; - } - } - - /* - * Return number of pcm bytes generated by the decode operation. - */ - *pcmBytes = frameSamples * sizeof(OI_INT16) * context->common.pcmStride; - if (context->bufferedBlocks > 0) { - return OI_CODEC_SBC_PARTIAL_DECODE; - } else { - return OI_OK; - } -} - -PRIVATE OI_STATUS internal_DecodeRaw(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_UINT8 bitpool, const OI_BYTE **frameData, OI_UINT32 *frameBytes, OI_INT16 *pcmData, OI_UINT32 *pcmBytes) { - OI_STATUS status; - OI_UINT bodyLen; - - TRACE(("+OI_CODEC_SBC_DecodeRaw")); - - if (context->bufferedBlocks == 0) { - /* - * The bitallocator needs to know the bitpool value. - */ - context->common.frameInfo.bitpool = bitpool; - /* - * Compute the frame length and check we have enough frame data to proceed - */ - bodyLen = OI_CODEC_SBC_CalculateFramelen(&context->common.frameInfo) - SBC_HEADER_LEN; - if (*frameBytes < bodyLen) { - TRACE(("-OI_CODEC_SBC_Decode: OI_CODEC_SBC_NOT_ENOUGH_BODY_DATA")); - return OI_CODEC_SBC_NOT_ENOUGH_BODY_DATA; - } - } else { - bodyLen = 0; - } - /* - * Decode the SBC data. Pass TRUE to DecodeBody to allow partial decoding of - * tones. - */ - status = DecodeBody(context, *frameData, pcmData, pcmBytes, TRUE); - if (OI_SUCCESS(status) || status == OI_CODEC_SBC_PARTIAL_DECODE) { - *frameData += bodyLen; - *frameBytes -= bodyLen; - } - TRACE(("-OI_CODEC_SBC_DecodeRaw: %d", status)); - return status; -} - -OI_STATUS OI_CODEC_SBC_DecoderReset(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_UINT32 *decoderData, OI_UINT32 decoderDataBytes, OI_UINT8 maxChannels, OI_UINT8 pcmStride, OI_BOOL enhanced, - OI_BOOL msbc_enable) { - return internal_DecoderReset(context, decoderData, decoderDataBytes, maxChannels, pcmStride, enhanced, msbc_enable); -} - -OI_STATUS OI_CODEC_SBC_DecodeFrame(OI_CODEC_SBC_DECODER_CONTEXT *context, const OI_BYTE **frameData, OI_UINT32 *frameBytes, OI_INT16 *pcmData, OI_UINT32 *pcmBytes) { - OI_STATUS status; - OI_UINT framelen; - OI_UINT8 crc; - - TRACE(("+OI_CODEC_SBC_DecodeFrame")); - - TRACE(("Finding syncword")); - status = FindSyncword(context, frameData, frameBytes); - if (!OI_SUCCESS(status)) { - return status; - } - - /* Make sure enough data remains to read the header. */ - if (*frameBytes < SBC_HEADER_LEN) { - TRACE(("-OI_CODEC_SBC_DecodeFrame: OI_CODEC_SBC_NOT_ENOUGH_HEADER_DATA")); - return OI_CODEC_SBC_NOT_ENOUGH_HEADER_DATA; - } - - TRACE(("Reading Header")); - OI_SBC_ReadHeader(&context->common, *frameData); - - /* - * Some implementations load the decoder into RAM and use overlays for 4 vs 8 subbands. We need - * to ensure that the SBC parameters for this frame are compatible with the restrictions imposed - * by the loaded overlays. - */ - if (context->limitFrameFormat && (context->common.frameInfo.subbands != context->restrictSubbands)) { - ERROR(("SBC parameters incompatible with loaded overlay")); - return OI_STATUS_INVALID_PARAMETERS; - } - - if (context->common.frameInfo.nrof_channels > context->common.maxChannels) { - ERROR(("SBC parameters incompatible with number of channels specified during reset")); - return OI_STATUS_INVALID_PARAMETERS; - } - - if (context->common.pcmStride < 1 || context->common.pcmStride > 2) { - ERROR(("PCM stride not set correctly during reset")); - return OI_STATUS_INVALID_PARAMETERS; - } - - /* - * At this point a header has been read. However, it's possible that we found a false syncword, - * so the header data might be invalid. Make sure we have enough bytes to read in the - * CRC-protected header, but don't require we have the whole frame. That way, if it turns out - * that we're acting on bogus header data, we don't stall the decoding process by waiting for - * data that we don't actually need. - */ - framelen = OI_CODEC_SBC_CalculateFramelen(&context->common.frameInfo); - if (*frameBytes < framelen) { - TRACE(("-OI_CODEC_SBC_DecodeFrame: OI_CODEC_SBC_NOT_ENOUGH_BODY_DATA")); - return OI_CODEC_SBC_NOT_ENOUGH_BODY_DATA; - } - - TRACE(("Calculating checksum")); - - crc = OI_SBC_CalculateChecksum(&context->common.frameInfo, *frameData); - if (crc != context->common.frameInfo.crc) { - TRACE(("CRC Mismatch: calc=%02x read=%02x\n", crc, context->common.frameInfo.crc)); - TRACE(("-OI_CODEC_SBC_DecodeFrame: OI_CODEC_SBC_CHECKSUM_MISMATCH")); - return OI_CODEC_SBC_CHECKSUM_MISMATCH; - } - -#ifdef OI_DEBUG - /* - * Make sure the bitpool values are sane. - */ - if ((context->common.frameInfo.bitpool < SBC_MIN_BITPOOL) && !context->common.frameInfo.enhanced) { - ERROR(("Bitpool too small: %d (must be >= 2)", context->common.frameInfo.bitpool)); - return OI_STATUS_INVALID_PARAMETERS; - } - if (context->common.frameInfo.bitpool > OI_SBC_MaxBitpool(&context->common.frameInfo)) { - ERROR(("Bitpool too large: %d (must be <= %ld)", context->common.frameInfo.bitpool, OI_SBC_MaxBitpool(&context->common.frameInfo))); - return OI_STATUS_INVALID_PARAMETERS; - } -#endif - - /* - * Now decode the SBC data. Partial decode is not yet implemented for an SBC - * stream, so pass FALSE to decode body to have it enforce the old rule that - * you have to decode a whole packet at a time. - */ - status = DecodeBody(context, *frameData + SBC_HEADER_LEN, pcmData, pcmBytes, FALSE); - if (OI_SUCCESS(status)) { - *frameData += framelen; - *frameBytes -= framelen; - } - TRACE(("-OI_CODEC_SBC_DecodeFrame: %d", status)); - - return status; -} - -OI_STATUS OI_CODEC_SBC_SkipFrame(OI_CODEC_SBC_DECODER_CONTEXT *context, const OI_BYTE **frameData, OI_UINT32 *frameBytes) { - OI_STATUS status; - OI_UINT framelen; - OI_UINT headerlen; - OI_UINT8 crc; - - status = FindSyncword(context, frameData, frameBytes); - if (!OI_SUCCESS(status)) { - return status; - } - if (*frameBytes < SBC_HEADER_LEN) { - return OI_CODEC_SBC_NOT_ENOUGH_HEADER_DATA; - } - OI_SBC_ReadHeader(&context->common, *frameData); - framelen = OI_SBC_CalculateFrameAndHeaderlen(&context->common.frameInfo, &headerlen); - if (*frameBytes < headerlen) { - return OI_CODEC_SBC_NOT_ENOUGH_HEADER_DATA; - } - crc = OI_SBC_CalculateChecksum(&context->common.frameInfo, *frameData); - if (crc != context->common.frameInfo.crc) { - return OI_CODEC_SBC_CHECKSUM_MISMATCH; - } - if (*frameBytes < framelen) { - return OI_CODEC_SBC_NOT_ENOUGH_BODY_DATA; - } - context->bufferedBlocks = 0; - *frameData += framelen; - *frameBytes -= framelen; - return OI_OK; -} - -OI_UINT8 OI_CODEC_SBC_FrameCount(OI_BYTE *frameData, OI_UINT32 frameBytes) { - OI_UINT8 mode; - OI_UINT8 blocks; - OI_UINT8 subbands; - OI_UINT8 frameCount = 0; - OI_UINT frameLen; - - while (frameBytes) { - while (frameBytes && ((frameData[0] & 0xFE) != 0x9C)) { - frameData++; - frameBytes--; - } - - if (frameBytes < SBC_HEADER_LEN) { - return frameCount; - } - - /* Extract and translate required fields from Header */ - subbands = mode = blocks = frameData[1]; - ; - mode = (mode & (BIT3 | BIT2)) >> 2; - blocks = block_values[(blocks & (BIT5 | BIT4)) >> 4]; - subbands = band_values[(subbands & BIT0)]; - - /* Inline logic to avoid corrupting context */ - frameLen = blocks * frameData[2]; - switch (mode) { - case SBC_JOINT_STEREO: - frameLen += subbands + (8 * subbands); - break; - - case SBC_DUAL_CHANNEL: - frameLen *= 2; - /* fall through */ - - default: - if (mode == SBC_MONO) { - frameLen += 4 * subbands; - } else { - frameLen += 8 * subbands; - } - } - - frameCount++; - frameLen = SBC_HEADER_LEN + (frameLen + 7) / 8; - if (frameBytes > frameLen) { - frameBytes -= frameLen; - frameData += frameLen; - } else { - frameBytes = 0; - } - } - return frameCount; -} - -/** Read quantized subband samples from the input bitstream and expand them. */ - -#ifdef SPECIALIZE_READ_SAMPLES_JOINT - -PRIVATE void OI_SBC_ReadSamplesJoint4(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_BITSTREAM *global_bs){ -#define NROF_SUBBANDS 4 -#include "readsamplesjoint.inc" -#undef NROF_SUBBANDS -} - -PRIVATE void OI_SBC_ReadSamplesJoint8(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_BITSTREAM *global_bs) { -#define NROF_SUBBANDS 8 -#include "readsamplesjoint.inc" -#undef NROF_SUBBANDS -} - -typedef void (*READ_SAMPLES)(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_BITSTREAM *global_bs); - -static const READ_SAMPLES SpecializedReadSamples[] = {OI_SBC_ReadSamplesJoint4, OI_SBC_ReadSamplesJoint8}; - -#endif /* SPECIALIZE_READ_SAMPLES_JOINT */ - -PRIVATE void OI_SBC_ReadSamplesJoint(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_BITSTREAM *global_bs) { - OI_CODEC_SBC_COMMON_CONTEXT *common = &context->common; - OI_UINT nrof_subbands = common->frameInfo.nrof_subbands; -#ifdef SPECIALIZE_READ_SAMPLES_JOINT - OI_ASSERT((nrof_subbands >> 3u) <= 1u); - SpecializedReadSamples[nrof_subbands >> 3](context, global_bs); -#else - -#define NROF_SUBBANDS nrof_subbands -#include "readsamplesjoint.inc" -#undef NROF_SUBBANDS -#endif /* SPECIALIZE_READ_SAMPLES_JOINT */ -} - -/**@}*/ - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/dequant.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/dequant.c deleted file mode 100644 index 8b4973ec..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/dequant.c +++ /dev/null @@ -1,207 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** - @file - - Dequantizer for SBC decoder; reconstructs quantized representation of subband samples. - - @ingroup codec_internal - */ - -/** -@addtogroup codec_internal -@{ -*/ - -/** - This function is a fixed-point approximation of a modification of the following - dequantization operation defined in the spec, as inferred from section 12.6.4: - - @code - dequant = 2^(scale_factor+1) * ((raw * 2.0 + 1.0) / ((2^bits) - 1) - 1) - - 2 <= bits <= 16 - 0 <= raw < (2^bits)-1 (the -1 is because quantized values with all 1's are forbidden) - - -65535 < dequant < 65535 - @endcode - - The code below computes the dequantized value divided by a scaling constant - equal to about 1.38. This constant is chosen to ensure that the entry in the - dequant_long_scaled table for 16 bits is as accurate as possible, since it has - the least relative precision available to it due to its small magnitude. - - This routine outputs in Q16.15 format. - - The helper array dequant_long is defined as follows: - - @code - dequant_long_long[bits] = round(2^31 * 1/((2^bits - 1) / 1.38...) for 2 <= bits <= 16 - @endcode - - - Additionally, the table entries have the following property: - - @code - dequant_long_scaled[bits] <= 2^31 / ((2^bits - 1)) for 2 <= bits <= 16 - @endcode - - Therefore - - @code - d = 2 * raw + 1 1 <= d <= 2^bits - 2 - - d' = d * dequant_long[bits] - - d * dequant_long_scaled[bits] <= (2^bits - 2) * (2^31 / (2^bits - 1)) - d * dequant_long_scaled[bits] <= 2^31 * (2^bits - 2)/(2^bits - 1) < 2^31 - @endcode - - Therefore, d' doesn't overflow a signed 32-bit value. - - @code - - d' =~ 2^31 * (raw * 2.0 + 1.0) / (2^bits - 1) / 1.38... - - result = d' - 2^31/1.38... =~ 2^31 * ((raw * 2.0 + 1.0) / (2^bits - 1) - 1) / 1.38... - - result is therefore a scaled approximation to dequant. It remains only to - turn 2^31 into 2^(scale_factor+1). Since we're aiming for Q16.15 format, - this is achieved by shifting right by (15-scale_factor): - - (2^31 * x) >> (15-scale_factor) =~ 2^(31-15+scale_factor) * x = 2^15 * 2^(1+scale_factor) * x - @endcode - - */ - -#include - -#if defined(SBC_DEC_INCLUDED) - -#ifndef SBC_DEQUANT_LONG_SCALED_OFFSET -#define SBC_DEQUANT_LONG_SCALED_OFFSET 1555931970 -#endif - -#ifndef SBC_DEQUANT_LONG_UNSCALED_OFFSET -#define SBC_DEQUANT_LONG_UNSCALED_OFFSET 2147483648 -#endif - -#ifndef SBC_DEQUANT_SCALING_FACTOR -#define SBC_DEQUANT_SCALING_FACTOR 1.38019122262781f -#endif - -const OI_UINT32 dequant_long_scaled[17]; -const OI_UINT32 dequant_long_unscaled[17]; - -/** Scales x by y bits to the right, adding a rounding factor. - */ -#ifndef SCALE -#define SCALE(x, y) (((x) + (1 << ((y)-1))) >> (y)) -#endif - -#ifdef DEBUG_DEQUANTIZATION - -#include - -static INLINE float dequant_float(OI_UINT32 raw, OI_UINT scale_factor, OI_UINT bits) { - float result = (1 << (scale_factor + 1)) * ((raw * 2.0f + 1.0f) / ((1 << bits) - 1.0f) - 1.0f); - - result /= SBC_DEQUANT_SCALING_FACTOR; - - /* Unless the encoder screwed up, all correct dequantized values should - * satisfy this inequality. Non-compliant encoders which generate quantized - * values with all 1-bits set can, theoretically, trigger this assert. This - * is unlikely, however, and only an issue in debug mode. - */ - OI_ASSERT(fabs(result) < 32768 * 1.6); - - return result; -} - -#endif - -INLINE OI_INT32 OI_SBC_Dequant(OI_UINT32 raw, OI_UINT scale_factor, OI_UINT bits) { - OI_UINT32 d; - OI_INT32 result; - - OI_ASSERT(scale_factor <= 15); - OI_ASSERT(bits <= 16); - - if (bits <= 1) { - return 0; - } - - d = (raw * 2) + 1; - d *= dequant_long_scaled[bits]; - result = d - SBC_DEQUANT_LONG_SCALED_OFFSET; - -#ifdef DEBUG_DEQUANTIZATION - { - OI_INT32 integerized_float_result; - float float_result; - - float_result = dequant_float(raw, scale_factor, bits); - integerized_float_result = (OI_INT32)floor(0.5f + float_result * (1 << 15)); - - /* This detects overflow */ - OI_ASSERT(((result >= 0) && (integerized_float_result >= 0)) || ((result <= 0) && (integerized_float_result <= 0))); - } -#endif - return result >> (15 - scale_factor); -} - -/* This version of Dequant does not incorporate the scaling factor of 1.38. It - * is intended for use with implementations of the filterbank which are - * hard-coded into a DSP. Output is Q16.4 format, so that after joint stereo - * processing (which leaves the most significant bit equal to the sign bit if - * the encoder is conformant) the result will fit a 24 bit fixed point signed - * value.*/ - -INLINE OI_INT32 OI_SBC_Dequant_Unscaled(OI_UINT32 raw, OI_UINT scale_factor, OI_UINT bits) { - OI_UINT32 d; - OI_INT32 result; - - OI_ASSERT(scale_factor <= 15); - OI_ASSERT(bits <= 16); - - if (bits <= 1) { - return 0; - } - if (bits == 16) { - result = (raw << 16) + raw - 0x7fff7fff; - return SCALE(result, 24 - scale_factor); - } - - d = (raw * 2) + 1; - d *= dequant_long_unscaled[bits]; - result = d - 0x80000000; - - return SCALE(result, 24 - scale_factor); -} - -/** -@} -*/ - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/framing-sbc.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/framing-sbc.c deleted file mode 100644 index cb4545d8..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/framing-sbc.c +++ /dev/null @@ -1,57 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** @file -@ingroup codec_internal -*/ - -/**@addgroup codec_internal*/ -/**@{*/ - -#include "oi_codec_sbc_private.h" - -#if defined(SBC_DEC_INCLUDED) - -const OI_CHAR *const OI_CODEC_SBC_FreqText[] = {"SBC_FREQ_16000", "SBC_FREQ_32000", "SBC_FREQ_44100", "SBC_FREQ_48000"}; -const OI_CHAR *const OI_CODEC_SBC_ModeText[] = {"SBC_MONO", "SBC_DUAL_CHANNEL", "SBC_STEREO", "SBC_JOINT_STEREO"}; -const OI_CHAR *const OI_CODEC_SBC_SubbandsText[] = {"SBC_SUBBANDS_4", "SBC_SUBBANDS_8"}; -const OI_CHAR *const OI_CODEC_SBC_BlocksText[] = {"SBC_BLOCKS_4", "SBC_BLOCKS_8", "SBC_BLOCKS_12", "SBC_BLOCKS_16"}; -const OI_CHAR *const OI_CODEC_SBC_AllocText[] = {"SBC_LOUDNESS", "SBC_SNR"}; - -#ifdef OI_DEBUG -void OI_CODEC_SBC_DumpConfig(OI_CODEC_SBC_FRAME_INFO *frameInfo) { - BT_WARN("SBC configuration\n"); - BT_WARN(" enhanced: %s\n", frameInfo->enhanced ? "TRUE" : "FALSE"); - BT_WARN(" frequency: %d\n", frameInfo->frequency); - BT_WARN(" subbands: %d\n", frameInfo->nrof_subbands); - BT_WARN(" blocks: %d\n", frameInfo->nrof_blocks); - BT_WARN(" channels: %d\n", frameInfo->nrof_channels); - BT_WARN(" mode: %s\n", OI_CODEC_SBC_ModeText[frameInfo->mode]); - BT_WARN(" alloc: %s\n", OI_CODEC_SBC_AllocText[frameInfo->alloc]); - BT_WARN(" bitpool: %d\n", frameInfo->bitpool); -} -#endif /* OI_DEBUG */ - -/**@}*/ - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/framing.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/framing.c deleted file mode 100644 index a809b1f8..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/framing.c +++ /dev/null @@ -1,242 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** -@file -Checksum and header-related functions. - -@ingroup codec_internal -*/ - -/** -@addtogroup codec_internal -@{ -*/ - -#include "oi_assert.h" -#include "oi_codec_sbc_private.h" - -#if defined(SBC_DEC_INCLUDED) - -/* asdasd */ - -#define USE_NIBBLEWISE_CRC - -/* #define PRINT_SAMPLES */ -/* #define PRINT_SCALEFACTORS */ -/* #define DEBUG_CRC */ - -/* - * CRC-8 table for X^8 + X^4 + X^3 + X^2 + 1; byte-wise lookup - */ -#ifdef USE_WIDE_CRC -/* Save space if a char is 16 bits, such as on the C54x */ -const OI_BYTE crc8_wide[128] = { - 0x001d, 0x3a27, 0x7469, 0x4e53, 0xe8f5, 0xd2cf, 0x9c81, 0xa6bb, 0xcdd0, 0xf7ea, 0xb9a4, 0x839e, 0x2538, 0x1f02, 0x514c, 0x6b76, 0x879a, 0xbda0, 0xf3ee, 0xc9d4, 0x6f72, 0x5548, - 0x1b06, 0x213c, 0x4a57, 0x706d, 0x3e23, 0x0419, 0xa2bf, 0x9885, 0xd6cb, 0xecf1, 0x130e, 0x2934, 0x677a, 0x5d40, 0xfbe6, 0xc1dc, 0x8f92, 0xb5a8, 0xdec3, 0xe4f9, 0xaab7, 0x908d, - 0x362b, 0x0c11, 0x425f, 0x7865, 0x9489, 0xaeb3, 0xe0fd, 0xdac7, 0x7c61, 0x465b, 0x0815, 0x322f, 0x5944, 0x637e, 0x2d30, 0x170a, 0xb1ac, 0x8b96, 0xc5d8, 0xffe2, 0x263b, 0x1c01, - 0x524f, 0x6875, 0xced3, 0xf4e9, 0xbaa7, 0x809d, 0xebf6, 0xd1cc, 0x9f82, 0xa5b8, 0x031e, 0x3924, 0x776a, 0x4d50, 0xa1bc, 0x9b86, 0xd5c8, 0xeff2, 0x4954, 0x736e, 0x3d20, 0x071a, - 0x6c71, 0x564b, 0x1805, 0x223f, 0x8499, 0xbea3, 0xf0ed, 0xcad7, 0x3528, 0x0f12, 0x415c, 0x7b66, 0xddc0, 0xe7fa, 0xa9b4, 0x938e, 0xf8e5, 0xc2df, 0x8c91, 0xb6ab, 0x100d, 0x2a37, - 0x6479, 0x5e43, 0xb2af, 0x8895, 0xc6db, 0xfce1, 0x5a47, 0x607d, 0x2e33, 0x1409, 0x7f62, 0x4558, 0x0b16, 0x312c, 0x978a, 0xadb0, 0xe3fe, 0xd9c4, -}; -#elif defined(USE_NIBBLEWISE_CRC) -const OI_BYTE crc8_narrow[16] = {0x00, 0x1d, 0x3a, 0x27, 0x74, 0x69, 0x4e, 0x53, 0xe8, 0xf5, 0xd2, 0xcf, 0x9c, 0x81, 0xa6, 0xbb}; -#else -const OI_BYTE crc8_narrow[256] = { - 0x00, 0x1d, 0x3a, 0x27, 0x74, 0x69, 0x4e, 0x53, 0xe8, 0xf5, 0xd2, 0xcf, 0x9c, 0x81, 0xa6, 0xbb, 0xcd, 0xd0, 0xf7, 0xea, 0xb9, 0xa4, 0x83, 0x9e, 0x25, 0x38, 0x1f, 0x02, 0x51, 0x4c, 0x6b, 0x76, - 0x87, 0x9a, 0xbd, 0xa0, 0xf3, 0xee, 0xc9, 0xd4, 0x6f, 0x72, 0x55, 0x48, 0x1b, 0x06, 0x21, 0x3c, 0x4a, 0x57, 0x70, 0x6d, 0x3e, 0x23, 0x04, 0x19, 0xa2, 0xbf, 0x98, 0x85, 0xd6, 0xcb, 0xec, 0xf1, - 0x13, 0x0e, 0x29, 0x34, 0x67, 0x7a, 0x5d, 0x40, 0xfb, 0xe6, 0xc1, 0xdc, 0x8f, 0x92, 0xb5, 0xa8, 0xde, 0xc3, 0xe4, 0xf9, 0xaa, 0xb7, 0x90, 0x8d, 0x36, 0x2b, 0x0c, 0x11, 0x42, 0x5f, 0x78, 0x65, - 0x94, 0x89, 0xae, 0xb3, 0xe0, 0xfd, 0xda, 0xc7, 0x7c, 0x61, 0x46, 0x5b, 0x08, 0x15, 0x32, 0x2f, 0x59, 0x44, 0x63, 0x7e, 0x2d, 0x30, 0x17, 0x0a, 0xb1, 0xac, 0x8b, 0x96, 0xc5, 0xd8, 0xff, 0xe2, - 0x26, 0x3b, 0x1c, 0x01, 0x52, 0x4f, 0x68, 0x75, 0xce, 0xd3, 0xf4, 0xe9, 0xba, 0xa7, 0x80, 0x9d, 0xeb, 0xf6, 0xd1, 0xcc, 0x9f, 0x82, 0xa5, 0xb8, 0x03, 0x1e, 0x39, 0x24, 0x77, 0x6a, 0x4d, 0x50, - 0xa1, 0xbc, 0x9b, 0x86, 0xd5, 0xc8, 0xef, 0xf2, 0x49, 0x54, 0x73, 0x6e, 0x3d, 0x20, 0x07, 0x1a, 0x6c, 0x71, 0x56, 0x4b, 0x18, 0x05, 0x22, 0x3f, 0x84, 0x99, 0xbe, 0xa3, 0xf0, 0xed, 0xca, 0xd7, - 0x35, 0x28, 0x0f, 0x12, 0x41, 0x5c, 0x7b, 0x66, 0xdd, 0xc0, 0xe7, 0xfa, 0xa9, 0xb4, 0x93, 0x8e, 0xf8, 0xe5, 0xc2, 0xdf, 0x8c, 0x91, 0xb6, 0xab, 0x10, 0x0d, 0x2a, 0x37, 0x64, 0x79, 0x5e, 0x43, - 0xb2, 0xaf, 0x88, 0x95, 0xc6, 0xdb, 0xfc, 0xe1, 0x5a, 0x47, 0x60, 0x7d, 0x2e, 0x33, 0x14, 0x09, 0x7f, 0x62, 0x45, 0x58, 0x0b, 0x16, 0x31, 0x2c, 0x97, 0x8a, 0xad, 0xb0, 0xe3, 0xfe, 0xd9, 0xc4}; -#endif -const OI_UINT32 dequant_long_scaled[17] = { - 0, 0, 0x1ee9e116, /* bits=2 0.24151243 1/3 * (1/1.38019122262781) (0x00000008)*/ - 0x0d3fa99c, /* bits=3 0.10350533 1/7 * (1/1.38019122262781) (0x00000013)*/ - 0x062ec69e, /* bits=4 0.04830249 1/15 * (1/1.38019122262781) (0x00000029)*/ - 0x02fddbfa, /* bits=5 0.02337217 1/31 * (1/1.38019122262781) (0x00000055)*/ - 0x0178d9f5, /* bits=6 0.01150059 1/63 * (1/1.38019122262781) (0x000000ad)*/ - 0x00baf129, /* bits=7 0.00570502 1/127 * (1/1.38019122262781) (0x0000015e)*/ - 0x005d1abe, /* bits=8 0.00284132 1/255 * (1/1.38019122262781) (0x000002bf)*/ - 0x002e760d, /* bits=9 0.00141788 1/511 * (1/1.38019122262781) (0x00000582)*/ - 0x00173536, /* bits=10 0.00070825 1/1023 * (1/1.38019122262781) (0x00000b07)*/ - 0x000b9928, /* bits=11 0.00035395 1/2047 * (1/1.38019122262781) (0x00001612)*/ - 0x0005cc37, /* bits=12 0.00017693 1/4095 * (1/1.38019122262781) (0x00002c27)*/ - 0x0002e604, /* bits=13 0.00008846 1/8191 * (1/1.38019122262781) (0x00005852)*/ - 0x000172fc, /* bits=14 0.00004422 1/16383 * (1/1.38019122262781) (0x0000b0a7)*/ - 0x0000b97d, /* bits=15 0.00002211 1/32767 * (1/1.38019122262781) (0x00016150)*/ - 0x00005cbe, /* bits=16 0.00001106 1/65535 * (1/1.38019122262781) (0x0002c2a5)*/ -}; - -const OI_UINT32 dequant_long_unscaled[17] = { - 0, 0, 0x2aaaaaab, /* bits=2 0.33333333 1/3 (0x00000005)*/ - 0x12492492, /* bits=3 0.14285714 1/7 (0x0000000e)*/ - 0x08888889, /* bits=4 0.06666667 1/15 (0x0000001d)*/ - 0x04210842, /* bits=5 0.03225806 1/31 (0x0000003e)*/ - 0x02082082, /* bits=6 0.01587302 1/63 (0x0000007e)*/ - 0x01020408, /* bits=7 0.00787402 1/127 (0x000000fe)*/ - 0x00808081, /* bits=8 0.00392157 1/255 (0x000001fd)*/ - 0x00402010, /* bits=9 0.00195695 1/511 (0x000003fe)*/ - 0x00200802, /* bits=10 0.00097752 1/1023 (0x000007fe)*/ - 0x00100200, /* bits=11 0.00048852 1/2047 (0x00000ffe)*/ - 0x00080080, /* bits=12 0.00024420 1/4095 (0x00001ffe)*/ - 0x00040020, /* bits=13 0.00012209 1/8191 (0x00003ffe)*/ - 0x00020008, /* bits=14 0.00006104 1/16383 (0x00007ffe)*/ - 0x00010002, /* bits=15 0.00003052 1/32767 (0x0000fffe)*/ - 0x00008001, /* bits=16 0.00001526 1/65535 (0x0001fffc)*/ -}; - -#if defined(OI_DEBUG) || defined(PRINT_SAMPLES) || defined(PRINT_SCALEFACTORS) -#include -#endif - -#ifdef USE_WIDE_CRC -static INLINE OI_CHAR crc_iterate(OI_UINT8 oldcrc, OI_UINT8 next) { - OI_UINT crc; - OI_UINT idx; - idx = oldcrc ^ next; - crc = crc8_wide[idx >> 1]; - if (idx % 2) { - crc &= 0xff; - } else { - crc >>= 8; - } - - return crc; -} - -static INLINE OI_CHAR crc_iterate_top4(OI_UINT8 oldcrc, OI_UINT8 next) { - OI_UINT crc; - OI_UINT idx; - idx = (oldcrc ^ next) >> 4; - crc = crc8_wide[idx >> 1]; - if (idx % 2) { - crc &= 0xff; - } else { - crc >>= 8; - } - - return (oldcrc << 4) ^ crc; -} - -#else // USE_WIDE_CRC - -static INLINE OI_UINT8 crc_iterate_top4(OI_UINT8 oldcrc, OI_UINT8 next) { return (oldcrc << 4) ^ crc8_narrow[(oldcrc ^ next) >> 4]; } - -#ifdef USE_NIBBLEWISE_CRC -static INLINE OI_UINT8 crc_iterate(OI_UINT8 crc, OI_UINT8 next) { - crc = (crc << 4) ^ crc8_narrow[(crc ^ next) >> 4]; - crc = (crc << 4) ^ crc8_narrow[((crc >> 4) ^ next) & 0xf]; - - return crc; -} - -#else // USE_NIBBLEWISE_CRC -static INLINE OI_UINT8 crc_iterate(OI_UINT8 crc, OI_UINT8 next) { return crc8_narrow[crc ^ next]; } - -#endif // USE_NIBBLEWISE_CRC - -#endif // USE_WIDE_CRC - -PRIVATE OI_UINT8 OI_SBC_CalculateChecksum(OI_CODEC_SBC_FRAME_INFO *frame, OI_BYTE const *data) { - OI_UINT i; - OI_UINT8 crc = 0x0f; - /* Count is the number of whole bytes subject to CRC. Actually, it's one - * more than this number, because data[3] is the CRC field itself, which is - * explicitly skipped. Since crc_iterate (should be) inlined, it's cheaper - * spacewise to include the check in the loop. This shouldn't be much of a - * bottleneck routine in the first place. */ - OI_UINT count = (frame->nrof_subbands * frame->nrof_channels / 2u) + 4; - - if (frame->mode == SBC_JOINT_STEREO && frame->nrof_subbands == 8) { - count++; - } - - for (i = 1; i < count; i++) { - if (i != 3) { - crc = crc_iterate(crc, data[i]); - } - } - - if (frame->mode == SBC_JOINT_STEREO && frame->nrof_subbands == 4) { - crc = crc_iterate_top4(crc, data[i]); - } - - return crc; -} - -void OI_SBC_ExpandFrameFields(OI_CODEC_SBC_FRAME_INFO *frame) { - frame->nrof_blocks = block_values[frame->blocks]; - frame->nrof_subbands = band_values[frame->subbands]; - - frame->frequency = freq_values[frame->freqIndex]; - frame->nrof_channels = channel_values[frame->mode]; -} - -/** - * Unrolled macro to copy 4 32-bit aligned 32-bit values backward in memory - */ -#define COPY4WORDS_BACK(_dest, _src) \ - do { \ - OI_INT32 _a, _b, _c, _d; \ - _a = *--_src; \ - _b = *--_src; \ - _c = *--_src; \ - _d = *--_src; \ - *--_dest = _a; \ - *--_dest = _b; \ - *--_dest = _c; \ - *--_dest = _d; \ - } while (0) - -#if defined(USE_PLATFORM_MEMMOVE) || defined(USE_PLATFORM_MEMCPY) -#include -#endif -PRIVATE void shift_buffer(SBC_BUFFER_T *dest, SBC_BUFFER_T *src, OI_UINT wordCount) { -#ifdef USE_PLATFORM_MEMMOVE - memmove(dest, src, wordCount * sizeof(SBC_BUFFER_T)); -#elif defined(USE_PLATFORM_MEMCPY) - OI_ASSERT(((OI_CHAR *)(dest) - (OI_CHAR *)(src)) >= wordCount * sizeof(*dest)); - memcpy(dest, src, wordCount * sizeof(SBC_BUFFER_T)); -#else - OI_UINT n; - OI_INT32 *d; - OI_INT32 *s; - n = wordCount / 4 / (sizeof(OI_INT32) / sizeof(*dest)); - OI_ASSERT((n * 4 * (sizeof(OI_INT32) / sizeof(*dest))) == wordCount); - - d = (void *)(dest + wordCount); - s = (void *)(src + wordCount); - - do { - COPY4WORDS_BACK(d, s); - } while (--n); -#endif -} -/** -@} -*/ - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_assert.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_assert.h deleted file mode 100644 index 54939c75..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_assert.h +++ /dev/null @@ -1,84 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_ASSERT_H -#define _OI_ASSERT_H -/** @file - This file provides macros and functions for compile-time and run-time assertions. - - When the OI_DEBUG preprocessor value is defined, the macro OI_ASSERT is compiled into - the program, providing for a runtime assertion failure check. - C_ASSERT is a macro that can be used to perform compile time checks. -*/ -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** \addtogroup Debugging Debugging APIs */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OI_DEBUG - -/** The macro OI_ASSERT takes a condition argument. If the asserted condition - does not evaluate to true, the OI_ASSERT macro calls the host-dependent function, - OI_AssertFail(), which reports the failure and generates a runtime error. -*/ -void OI_AssertFail(char *file, int line, char *reason); - -#define OI_ASSERT(condition) \ - { \ - if (!(condition)) \ - OI_AssertFail(__FILE__, __LINE__, #condition); \ - } - -#define OI_ASSERT_FAIL(msg) \ - { \ - OI_AssertFail(__FILE__, __LINE__, msg); \ - } - -#else - -#define OI_ASSERT(condition) -#define OI_ASSERT_FAIL(msg) - -#endif - -/** - C_ASSERT() can be used to perform many compile-time assertions: type sizes, field offsets, etc. - An assertion failure results in compile time error C2118: negative subscript. - Unfortunately, this elegant macro doesn't work with GCC, so it's all commented out - for now. Perhaps later..... -*/ - -#ifndef C_ASSERT -// #define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1] -// #define C_ASSERT(e) -#endif - -/*****************************************************************************/ -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif /* _OI_ASSERT_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_bitstream.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_bitstream.h deleted file mode 100644 index 886eb6e9..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_bitstream.h +++ /dev/null @@ -1,121 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_BITSTREAM_H -#define _OI_BITSTREAM_H - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** -@file -Function prototypes and macro definitions for manipulating input and output -bitstreams. - -@ingroup codec_internal -*/ - -/** -@addtogroup codec_internal -@{ -*/ - -#include "oi_codec_sbc_private.h" -#include "oi_stddefs.h" - -INLINE void OI_BITSTREAM_ReadInit(OI_BITSTREAM *bs, const OI_BYTE *buffer); - -INLINE void OI_BITSTREAM_WriteInit(OI_BITSTREAM *bs, OI_BYTE *buffer); - -INLINE OI_UINT32 OI_BITSTREAM_ReadUINT(OI_BITSTREAM *bs, OI_UINT bits); - -INLINE OI_UINT8 OI_BITSTREAM_ReadUINT4Aligned(OI_BITSTREAM *bs); - -INLINE OI_UINT8 OI_BITSTREAM_ReadUINT8Aligned(OI_BITSTREAM *bs); - -INLINE void OI_BITSTREAM_WriteUINT(OI_BITSTREAM *bs, - OI_UINT16 value, - OI_UINT bits); - -/* - * Use knowledge that the bitstream is aligned to optimize the write of a byte - */ -PRIVATE void OI_BITSTREAM_WriteUINT8Aligned(OI_BITSTREAM *bs, - OI_UINT8 datum); - -/* - * Use knowledge that the bitstream is aligned to optimize the write pair of nibbles - */ -PRIVATE void OI_BITSTREAM_Write2xUINT4Aligned(OI_BITSTREAM *bs, - OI_UINT8 datum1, - OI_UINT8 datum2); - -/** Internally the bitstream looks ahead in the stream. When - * OI_SBC_ReadScalefactors() goes to temporarily break the abstraction, it will - * need to know where the "logical" pointer is in the stream. - */ -#define OI_BITSTREAM_GetWritePtr(bs) ((bs)->ptr.w - 3) -#define OI_BITSTREAM_GetReadPtr(bs) ((bs)->ptr.r - 3) - -/** This is declared here as a macro because decoder.c breaks the bitsream - * encapsulation for efficiency reasons. - */ -#define OI_BITSTREAM_READUINT(result, bits, ptr, value, bitPtr) \ - do { \ - OI_ASSERT((bits) <= 16); \ - OI_ASSERT((bitPtr) < 16); \ - OI_ASSERT((bitPtr) >= 8); \ - \ - result = (value) << (bitPtr); \ - result >>= 32 - (bits); \ - \ - bitPtr += (bits); \ - while (bitPtr >= 16) { \ - value = ((value) << 8) | *ptr++; \ - bitPtr -= 8; \ - } \ - OI_ASSERT((bits == 0) || (result < (1u << (bits)))); \ - } while (0) - -#define OI_BITSTREAM_WRITEUINT(ptr, value, bitPtr, datum, bits) \ - do { \ - bitPtr -= bits; \ - value |= datum << bitPtr; \ - \ - while (bitPtr <= 16) { \ - bitPtr += 8; \ - *ptr++ = (OI_UINT8)(value >> 24); \ - value <<= 8; \ - } \ - } while (0) - -#define OI_BITSTREAM_WRITEFLUSH(ptr, value, bitPtr) \ - do { \ - while (bitPtr < 32) { \ - bitPtr += 8; \ - *ptr++ = (OI_UINT8)(value >> 24); \ - value <<= 8; \ - } \ - } while (0) - -/** -@} -*/ - -#endif /* _OI_BITSTREAM_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_bt_spec.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_bt_spec.h deleted file mode 100644 index 75776399..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_bt_spec.h +++ /dev/null @@ -1,225 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_BT_SPEC_H -#define _OI_BT_SPEC_H -/** - * @file - * - * This file contains common definitions from the Bluetooth specification. - * - */ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -#include "oi_stddefs.h" - -/** \addtogroup Misc Miscellaneous APIs */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** The maximum number of active slaves in a piconet. */ -#define OI_BT_MAX_ACTIVE_SLAVES 7 - -/** the number of bytes in a Bluetooth device address (BD_ADDR) */ -#define OI_BD_ADDR_BYTE_SIZE 6 - -/** - * 48-bit Bluetooth device address - * - * Because 48-bit integers may not be supported on all platforms, the - * address is defined as an array of bytes. This array is big-endian, - * meaning that - * - array[0] contains bits 47-40, - * - array[1] contains bits 39-32, - * - array[2] contains bits 31-24, - * - array[3] contains bits 23-16, - * - array[4] contains bits 15-8, and - * - array[5] contains bits 7-0. - */ -typedef struct { - OI_UINT8 addr[OI_BD_ADDR_BYTE_SIZE]; /**< Bluetooth device address represented as an array of 8-bit values */ -} OI_BD_ADDR; - -/** - * @name Data types for working with UUIDs - * UUIDs are 16 bytes (128 bits). - * - * To avoid having to pass around 128-bit values all the time, 32-bit and 16-bit - * UUIDs are defined, along with a mapping from the shorter versions to the full - * version. - * - * @{ - */ - -/** - * 16-bit representation of a 128-bit UUID - */ -typedef OI_UINT16 OI_UUID16; - -/** - * 32-bit representation of a 128-bit UUID - */ -typedef OI_UINT32 OI_UUID32; - -/** - * number of bytes in a 128 bit UUID - */ -#define OI_BT_UUID128_SIZE 16 - -/** - * number of bytes in IPv6 style addresses - */ -#define OI_BT_IPV6ADDR_SIZE 16 - -/** - * type definition for a 128-bit UUID - * - * To simplify conversion between 128-bit UUIDs and 16-bit and 32-bit UUIDs, - * the most significant 32 bits are stored with the same endian-ness as is - * native on the target (local) device. The remainder of the 128-bit UUID is - * stored as bytes in big-endian order. - */ -typedef struct { - OI_UINT32 ms32bits; /**< most significant 32 bits of 128-bit UUID */ - OI_UINT8 base[OI_BT_UUID128_SIZE - sizeof(OI_UINT32)]; /**< remainder of 128-bit UUID, array of 8-bit values */ -} OI_UUID128; - -/** @} */ - -/** number of bytes in a link key */ -#define OI_BT_LINK_KEY_SIZE 16 - -/** - * type definition for a baseband link key - * - * Because 128-bit integers may not be supported on all platforms, we define - * link keys as an array of bytes. Unlike the Bluetooth device address, - * the link key is stored in little-endian order, meaning that - * - array[0] contains bits 0 - 7, - * - array[1] contains bits 8 - 15, - * - array[2] contains bits 16 - 23, - * - array[3] contains bits 24 - 31, - * - array[4] contains bits 32 - 39, - * - array[5] contains bits 40 - 47, - * - array[6] contains bits 48 - 55, - * - array[7] contains bits 56 - 63, - * - array[8] contains bits 64 - 71, - * - array[9] contains bits 72 - 79, - * - array[10] contains bits 80 - 87, - * - array[11] contains bits 88 - 95, - * - array[12] contains bits 96 - 103, - * - array[13] contains bits 104- 111, - * - array[14] contains bits 112- 119, and - * - array[15] contains bits 120- 127. - */ -typedef struct { - OI_UINT8 key[OI_BT_LINK_KEY_SIZE]; /**< link key represented as an array of 8-bit values */ -} OI_LINK_KEY; - -/** Out-of-band data size - C and R values are 16-bytes each */ -#define OI_BT_OOB_NUM_BYTES 16 - -typedef struct { - OI_UINT8 value[OI_BT_OOB_NUM_BYTES]; /**< same struct used for C and R values */ -} OI_OOB_DATA; - -/** - * link key types - */ -typedef enum { - OI_LINK_KEY_TYPE_COMBO = 0, /**< combination key */ - OI_LINK_KEY_TYPE_LOCAL_UNIT = 1, /**< local unit key */ - OI_LINK_KEY_TYPE_REMOTE_UNIT = 2, /**< remote unit key */ - OI_LINK_KEY_TYPE_DEBUG_COMBO = 3, /**< debug combination key */ - OI_LINK_KEY_TYPE_UNAUTHENTICATED = 4, /**< Unauthenticated */ - OI_LINK_KEY_TYPE_AUTHENTICATED = 5, /**< Authenticated */ - OI_LINK_KEY_TYPE_CHANGED_COMBO = 6 /**< Changed */ - -} OI_BT_LINK_KEY_TYPE; - -/** amount of space allocated for a PIN (personal indentification number) in bytes */ -#define OI_BT_PIN_CODE_SIZE 16 - -/** data type for a PIN (PINs are treated as strings, so endianness does not apply.) */ -typedef struct { - OI_UINT8 pin[OI_BT_PIN_CODE_SIZE]; /**< PIN represented as an array of 8-bit values */ -} OI_PIN_CODE; - -/** maximum number of SCO connections per device, which is 3 as of version 2.0+EDR - of the Bluetooth specification (see sec 4.3 of vol 2 part B) */ -#define OI_BT_MAX_SCO_CONNECTIONS 3 - -/** data type for clock offset */ -typedef OI_UINT16 OI_BT_CLOCK_OFFSET; - -/** data type for a LM handle */ -typedef OI_UINT16 OI_HCI_LM_HANDLE; - -/** opaque data type for a SCO or ACL connection handle */ -typedef struct _OI_HCI_CONNECTION *OI_HCI_CONNECTION_HANDLE; - -/** data type for HCI Error Code, as defined in oi_hcispec.h */ -typedef OI_UINT8 OI_HCI_ERROR_CODE; - -/** - * The Bluetooth device type is indicated by a 24-bit bitfield, represented as a - * 32-bit number in the stack. The bit layout and values for device class are specified - * in the file oi_bt_assigned_nos.h and in the Bluetooth "Assigned Numbers" specification - * at http://www.bluetooth.org/assigned-numbers/. - */ -typedef OI_UINT32 OI_BT_DEVICE_CLASS; - -#define OI_BT_DEV_CLASS_FORMAT_MASK 0x000003 /**< Bits 0-1 contain format type. */ -#define OI_BT_DEV_CLASS_MINOR_DEVICE_MASK 0x0000FC /**< Bits 2-7 contain minor device class value. */ -#define OI_BT_DEV_CLASS_MAJOR_DEVICE_MASK 0x001F00 /**< Bits 8-12 contain major device class value. */ -#define OI_BT_DEV_CLASS_MAJOR_SERVICE_MASK 0xFFE000 /**< Bits 13-23 contain major service class value. */ - -/** There is currently only one device class format defined, type 00. */ -#define OI_BT_DEV_CLASS_FORMAT_TYPE 00 - -/** Bit 13 in device class indicates limited discoverability mode (GAP v2.0+EDR, section 4.1.2.2) */ -#define OI_BT_DEV_CLASS_LIMITED_DISCO_BIT BIT13 - -/** macro to test validity of the Device Class Format */ -#define OI_BT_VALID_DEVICE_CLASS_FORMAT(class) (OI_BT_DEV_CLASS_FORMAT_TYPE == ((class) & OI_BT_DEV_CLASS_FORMAT_MASK)) - -/** the time between baseband clock ticks, currently 625 microseconds (one slot) */ -#define OI_BT_TICK 625 -/** some macros to convert to/from baseband clock ticks - use no floating point! */ -#define OI_SECONDS_TO_BT_TICKS(secs) ((secs)*1600) -#define OI_BT_TICKS_TO_SECONDS(ticks) ((ticks) / 1600) -#define OI_MSECS_TO_BT_TICKS(msecs) (((msecs)*8) / 5) -#define OI_BT_TICKS_TO_MSECS(ticks) (((ticks)*5) / 8) - -/** EIR byte order */ -#define OI_EIR_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -/*****************************************************************************/ -#endif /* _OI_BT_SPEC_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_sbc.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_sbc.h deleted file mode 100644 index d8b7206b..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_sbc.h +++ /dev/null @@ -1,478 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -#ifndef _OI_CODEC_SBC_CORE_H -#define _OI_CODEC_SBC_CORE_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** -@file -Declarations of codec functions, data types, and macros. - -@ingroup codec_lib -*/ - -/** -@addtogroup codec_lib -@{ -*/ - -/* Non-BM3 users of of the codec must include oi_codec_sbc_bm3defs.h prior to - * including this file, or else these includes will fail because the BM3 SDK is - * not in the include path */ -#ifndef _OI_CODEC_SBC_BM3DEFS_H -#include "oi_stddefs.h" -#include "oi_status.h" -#endif - -#include - -#define SBC_MAX_CHANNELS 2 -#define SBC_MAX_BANDS 8 -#define SBC_MAX_BLOCKS 16 -#define SBC_MIN_BITPOOL 2 /**< Minimum size of the bit allocation pool used to encode the stream */ -#define SBC_MAX_BITPOOL 250 /**< Maximum size of the bit allocation pool used to encode the stream */ -#define SBC_MAX_ONE_CHANNEL_BPS 320000 -#define SBC_MAX_TWO_CHANNEL_BPS 512000 - -#define SBC_WBS_BITRATE 62000 -#define SBC_WBS_BITPOOL 27 -#define SBC_WBS_NROF_BLOCKS 16 -#define SBC_WBS_FRAME_LEN 62 -#define SBC_WBS_SAMPLES_PER_FRAME 128 - -#define SBC_HEADER_LEN 4 -#define SBC_MAX_FRAME_LEN (SBC_HEADER_LEN + \ - ((SBC_MAX_BANDS * SBC_MAX_CHANNELS / 2) + \ - (SBC_MAX_BANDS + SBC_MAX_BLOCKS * SBC_MAX_BITPOOL + 7) / 8)) -#define SBC_MAX_SAMPLES_PER_FRAME (SBC_MAX_BANDS * SBC_MAX_BLOCKS) - -#define SBC_MAX_SCALEFACTOR_BYTES ((4 * (SBC_MAX_CHANNELS * SBC_MAX_BANDS) + 7) / 8) - -#define OI_SBC_SYNCWORD 0x9c -#define OI_SBC_ENHANCED_SYNCWORD 0x9d -#define OI_mSBC_SYNCWORD 0xad - -#define OI_SBC_MODE_STD 0 -#define OI_SBC_MODE_MSBC 1 - -/**@name Sampling frequencies */ -/**@{*/ -#define SBC_FREQ_16000 0 /**< The sampling frequency is 16 kHz. One possible value for the @a frequency parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_FREQ_32000 1 /**< The sampling frequency is 32 kHz. One possible value for the @a frequency parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_FREQ_44100 2 /**< The sampling frequency is 44.1 kHz. One possible value for the @a frequency parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_FREQ_48000 3 /**< The sampling frequency is 48 kHz. One possible value for the @a frequency parameter of OI_CODEC_SBC_EncoderConfigure() */ -/**@}*/ - -/**@name Channel modes */ -/**@{*/ -#define SBC_MONO 0 /**< The mode of the encoded channel is mono. One possible value for the @a mode parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_DUAL_CHANNEL 1 /**< The mode of the encoded channel is dual-channel. One possible value for the @a mode parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_STEREO 2 /**< The mode of the encoded channel is stereo. One possible value for the @a mode parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_JOINT_STEREO 3 /**< The mode of the encoded channel is joint stereo. One possible value for the @a mode parameter of OI_CODEC_SBC_EncoderConfigure() */ -/**@}*/ - -/**@name Subbands */ -/**@{*/ -#define SBC_SUBBANDS_4 0 /**< The encoded stream has 4 subbands. One possible value for the @a subbands parameter of OI_CODEC_SBC_EncoderConfigure()*/ -#define SBC_SUBBANDS_8 1 /**< The encoded stream has 8 subbands. One possible value for the @a subbands parameter of OI_CODEC_SBC_EncoderConfigure() */ -/**@}*/ - -/**@name Block lengths */ -/**@{*/ -#define SBC_BLOCKS_4 0 /**< A block size of 4 blocks was used to encode the stream. One possible value for the @a blocks parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_BLOCKS_8 1 /**< A block size of 8 blocks was used to encode the stream is. One possible value for the @a blocks parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_BLOCKS_12 2 /**< A block size of 12 blocks was used to encode the stream. One possible value for the @a blocks parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_BLOCKS_16 3 /**< A block size of 16 blocks was used to encode the stream. One possible value for the @a blocks parameter of OI_CODEC_SBC_EncoderConfigure() */ -/**@}*/ - -/**@name Bit allocation methods */ -/**@{*/ -#define SBC_LOUDNESS 0 /**< The bit allocation method. One possible value for the @a loudness parameter of OI_CODEC_SBC_EncoderConfigure() */ -#define SBC_SNR 1 /**< The bit allocation method. One possible value for the @a loudness parameter of OI_CODEC_SBC_EncoderConfigure() */ -/**@}*/ - -/** -@} - -@addtogroup codec_internal -@{ -*/ - -typedef OI_INT16 SBC_BUFFER_T; - -/** Used internally. */ -typedef struct { - OI_UINT16 frequency; /**< The sampling frequency. Input parameter. */ - OI_UINT8 freqIndex; - - OI_UINT8 nrof_blocks; /**< The block size used to encode the stream. Input parameter. */ - OI_UINT8 blocks; - - OI_UINT8 nrof_subbands; /**< The number of subbands of the encoded stream. Input parameter. */ - OI_UINT8 subbands; - - OI_UINT8 mode; /**< The mode of the encoded channel. Input parameter. */ - OI_UINT8 nrof_channels; /**< The number of channels of the encoded stream. */ - - OI_UINT8 alloc; /**< The bit allocation method. Input parameter. */ - OI_UINT8 bitpool; /**< Size of the bit allocation pool used to encode the stream. Input parameter. */ - OI_UINT8 crc; /**< Parity check byte used for error detection. */ - OI_UINT8 join; /**< Whether joint stereo has been used. */ - OI_UINT8 enhanced; - OI_UINT8 min_bitpool; /**< This value is only used when encoding. SBC_MAX_BITPOOL if variable - bitpools are disallowed, otherwise the minimum bitpool size that will - be used by the bit allocator. */ - - OI_UINT8 cachedInfo; /**< Information about the previous frame */ -} OI_CODEC_SBC_FRAME_INFO; - -/** Used internally. */ -typedef struct { - const OI_CHAR *codecInfo; - OI_CODEC_SBC_FRAME_INFO frameInfo; - OI_INT8 scale_factor[SBC_MAX_CHANNELS * SBC_MAX_BANDS]; - OI_UINT32 frameCount; - OI_INT32 *subdata; - - SBC_BUFFER_T *filterBuffer[SBC_MAX_CHANNELS]; - OI_INT32 filterBufferLen; - OI_UINT filterBufferOffset; - - union { - OI_UINT8 uint8[SBC_MAX_CHANNELS * SBC_MAX_BANDS]; - OI_UINT32 uint32[SBC_MAX_CHANNELS * SBC_MAX_BANDS / 4]; - } bits; - OI_UINT8 maxBitneed; /**< Running maximum bitneed */ - OI_BYTE formatByte; - OI_UINT8 pcmStride; - OI_UINT8 maxChannels; -} OI_CODEC_SBC_COMMON_CONTEXT; - -/* - * A smaller value reduces RAM usage at the expense of increased CPU usage. Values in the range - * 27..50 are recommended, beyond 50 there is a diminishing return on reduced CPU usage. - */ -#define SBC_CODEC_MIN_FILTER_BUFFERS 16 -#define SBC_CODEC_FAST_FILTER_BUFFERS 27 - -/* Expands to the number of OI_UINT32s needed to ensure enough memory to encode - * or decode streams of numChannels channels, using numBuffers buffers. - * Example: - * OI_UINT32 decoderData[CODEC_DATA_WORDS(SBC_MAX_CHANNELS, SBC_DECODER_FAST_SYNTHESIS_BUFFERS)]; - * */ -#define CODEC_DATA_WORDS(numChannels, numBuffers) \ - (( \ - (sizeof(OI_INT32) * SBC_MAX_BLOCKS * numChannels * SBC_MAX_BANDS) + (sizeof(SBC_BUFFER_T) * SBC_MAX_CHANNELS * SBC_MAX_BANDS * numBuffers) + (sizeof(OI_UINT32) - 1)) / \ - sizeof(OI_UINT32)) - -/** Opaque parameter to decoding functions; maintains decoder context. */ -typedef struct { - OI_CODEC_SBC_COMMON_CONTEXT common; - OI_UINT8 limitFrameFormat; /* Boolean, set by OI_CODEC_SBC_DecoderLimit() */ - OI_UINT8 restrictSubbands; - OI_UINT8 enhancedEnabled; - OI_UINT8 bufferedBlocks; - OI_UINT8 sbc_mode; /* OI_SBC_MODE_STD or OI_SBC_MODE_MSBC */ -} OI_CODEC_SBC_DECODER_CONTEXT; - -typedef struct { - OI_UINT32 data[CODEC_DATA_WORDS(1, SBC_CODEC_FAST_FILTER_BUFFERS)]; -} OI_CODEC_SBC_CODEC_DATA_MONO; - -typedef struct { - OI_UINT32 data[CODEC_DATA_WORDS(2, SBC_CODEC_FAST_FILTER_BUFFERS)]; -} OI_CODEC_SBC_CODEC_DATA_STEREO; - -/** -@} - -@addtogroup codec_lib -@{ -*/ - -/** - * This function resets the decoder. The context must be reset when - * changing streams, or if the following stream parameters change: - * number of subbands, stereo mode, or frequency. - * - * @param context Pointer to the decoder context structure to be reset. - * - * @param enhanced If true, enhanced SBC operation is enabled. If enabled, - * the codec will recognize the alternative syncword for - * decoding an enhanced SBC stream. Enhancements should not - * be enabled unless the stream is known to be generated - * by an enhanced encoder, or there is a small possibility - * for decoding glitches if synchronization were to be lost. - */ -OI_STATUS OI_CODEC_SBC_DecoderReset(OI_CODEC_SBC_DECODER_CONTEXT *context, - OI_UINT32 *decoderData, - OI_UINT32 decoderDataBytes, - OI_UINT8 maxChannels, - OI_UINT8 pcmStride, - OI_BOOL enhanced, - OI_BOOL msbc_enable); - -/** - * This function restricts the kind of SBC frames that the Decoder will - * process. Its use is optional. If used, it must be called after - * calling OI_CODEC_SBC_DecoderReset(). After it is called, any calls - * to OI_CODEC_SBC_DecodeFrame() with SBC frames that do not conform - * to the Subband and Enhanced SBC setting will be rejected with an - * OI_STATUS_INVALID_PARAMETERS return. - * - * @param context Pointer to the decoder context structure to be limited. - * - * @param enhanced If true, all frames passed to the decoder must be - * Enhanced SBC frames. If false, all frames must be - * standard SBC frames. - * - * @param subbands May be set to SBC_SUBBANDS_4 or SBC_SUBBANDS_8. All - * frames passed to the decoder must be encoded with - * the requested number of subbands. - * - */ -OI_STATUS OI_CODEC_SBC_DecoderLimit(OI_CODEC_SBC_DECODER_CONTEXT *context, - OI_BOOL enhanced, - OI_UINT8 subbands); - -/** - * This function sets the decoder parameters for a raw decode where the decoder parameters are not - * available in the sbc data stream. OI_CODEC_SBC_DecoderReset must be called - * prior to calling this function. - * - * @param context Decoder context structure. This must be the context must be - * used each time a frame is decoded. - * - * @param enhanced Set to TRUE to enable Qualcomm proprietary - * quality enhancements. - * - * @param frequency One of SBC_FREQ_16000, SBC_FREQ_32000, SBC_FREQ_44100, - * SBC_FREQ_48000 - * - * @param mode One of SBC_MONO, SBC_DUAL_CHANNEL, SBC_STEREO, - * SBC_JOINT_STEREO - * - * @param subbands One of SBC_SUBBANDS_4, SBC_SUBBANDS_8 - * - * @param blocks One of SBC_BLOCKS_4, SBC_BLOCKS_8, SBC_BLOCKS_12, - * SBC_BLOCKS_16 - * - * @param alloc One of SBC_LOUDNESS, SBC_SNR - * - * @param maxBitpool The maximum bitpool size for this context - */ -OI_STATUS OI_CODEC_SBC_DecoderConfigureRaw(OI_CODEC_SBC_DECODER_CONTEXT *context, - OI_BOOL enhanced, - OI_UINT8 frequency, - OI_UINT8 mode, - OI_UINT8 subbands, - OI_UINT8 blocks, - OI_UINT8 alloc, - OI_UINT8 maxBitpool); - -/** - * Decode one SBC frame. The frame has no header bytes. The context must have been previously - * initialized by calling OI_CODEC_SBC_DecoderConfigureRaw(). - * - * @param context Pointer to a decoder context structure. The same context - * must be used each time when decoding from the same stream. - * - * @param bitpool The actual bitpool size for this frame. Must be <= the maxbitpool specified - * in the call to OI_CODEC_SBC_DecoderConfigureRaw(), - * - * @param frameData Address of a pointer to the SBC data to decode. This - * value will be updated to point to the next frame after - * successful decoding. - * - * @param frameBytes Pointer to a UINT32 containing the number of available - * bytes of frame data. This value will be updated to reflect - * the number of bytes remaining after a decoding operation. - * - * @param pcmData Address of an array of OI_INT16 pairs, which will be - * populated with the decoded audio data. This address - * is not updated. - * - * @param pcmBytes Pointer to a UINT32 in/out parameter. On input, it - * should contain the number of bytes available for pcm - * data. On output, it will contain the number of bytes - * written. Note that this differs from the semantics of - * frameBytes. - */ -OI_STATUS OI_CODEC_SBC_DecodeRaw(OI_CODEC_SBC_DECODER_CONTEXT *context, - OI_UINT8 bitpool, - const OI_BYTE **frameData, - OI_UINT32 *frameBytes, - OI_INT16 *pcmData, - OI_UINT32 *pcmBytes); - -/** - * Decode one SBC frame. - * - * @param context Pointer to a decoder context structure. The same context - * must be used each time when decoding from the same stream. - * - * @param frameData Address of a pointer to the SBC data to decode. This - * value will be updated to point to the next frame after - * successful decoding. - * - * @param frameBytes Pointer to a UINT32 containing the number of available - * bytes of frame data. This value will be updated to reflect - * the number of bytes remaining after a decoding operation. - * - * @param pcmData Address of an array of OI_INT16 pairs, which will be - * populated with the decoded audio data. This address - * is not updated. - * - * @param pcmBytes Pointer to a UINT32 in/out parameter. On input, it - * should contain the number of bytes available for pcm - * data. On output, it will contain the number of bytes - * written. Note that this differs from the semantics of - * frameBytes. - */ -OI_STATUS OI_CODEC_SBC_DecodeFrame(OI_CODEC_SBC_DECODER_CONTEXT *context, - const OI_BYTE **frameData, - OI_UINT32 *frameBytes, - OI_INT16 *pcmData, - OI_UINT32 *pcmBytes); - -/** - * Calculate the number of SBC frames but don't decode. CRC's are not checked, - * but the Sync word is found prior to count calculation. - * - * @param frameData Pointer to the SBC data. - * - * @param frameBytes Number of bytes avaiable in the frameData buffer - * - */ -OI_UINT8 OI_CODEC_SBC_FrameCount(OI_BYTE *frameData, - OI_UINT32 frameBytes); - -/** - * Analyze an SBC frame but don't do the decode. - * - * @param context Pointer to a decoder context structure. The same context - * must be used each time when decoding from the same stream. - * - * @param frameData Address of a pointer to the SBC data to decode. This - * value will be updated to point to the next frame after - * successful decoding. - * - * @param frameBytes Pointer to a UINT32 containing the number of available - * bytes of frame data. This value will be updated to reflect - * the number of bytes remaining after a decoding operation. - * - */ -OI_STATUS OI_CODEC_SBC_SkipFrame(OI_CODEC_SBC_DECODER_CONTEXT *context, - const OI_BYTE **frameData, - OI_UINT32 *frameBytes); - -/* Common functions */ - -/** - Calculate the frame length. - - @param frame The frame whose length to calculate - - @return the length of an individual encoded frame in - bytes - */ -OI_UINT16 OI_CODEC_SBC_CalculateFramelen(OI_CODEC_SBC_FRAME_INFO *frame); - -/** - * Calculate the maximum bitpool size that fits within a given frame length. - * - * @param frame The frame to calculate the bitpool size for - * @param frameLen The frame length to fit the bitpool to - * - * @return the maximum bitpool that will fit in the specified frame length - */ -OI_UINT16 OI_CODEC_SBC_CalculateBitpool(OI_CODEC_SBC_FRAME_INFO *frame, - OI_UINT16 frameLen); - -/** - Calculate the bit rate. - - @param frame The frame whose bit rate to calculate - - @return the approximate bit rate in bits per second, - assuming that stream parameters are constant - */ -OI_UINT32 OI_CODEC_SBC_CalculateBitrate(OI_CODEC_SBC_FRAME_INFO *frame); - -/** - Calculate decoded audio data length for one frame. - - @param frame The frame whose audio data length to calculate - - @return length of decoded audio data for a - single frame, in bytes - */ -OI_UINT16 OI_CODEC_SBC_CalculatePcmBytes(OI_CODEC_SBC_COMMON_CONTEXT *common); - -/** - * Get the codec version text. - * - * @return pointer to text string containing codec version text - * - */ -OI_CHAR *OI_CODEC_Version(void); - -/** -@} - -@addtogroup codec_internal -@{ -*/ - -extern const OI_CHAR *const OI_CODEC_SBC_FreqText[]; -extern const OI_CHAR *const OI_CODEC_SBC_ModeText[]; -extern const OI_CHAR *const OI_CODEC_SBC_SubbandsText[]; -extern const OI_CHAR *const OI_CODEC_SBC_BlocksText[]; -extern const OI_CHAR *const OI_CODEC_SBC_AllocText[]; - -/** -@} - -@addtogroup codec_lib -@{ -*/ - -#ifdef OI_DEBUG -void OI_CODEC_SBC_DumpConfig(OI_CODEC_SBC_FRAME_INFO *frameInfo); -#else -#define OI_CODEC_SBC_DumpConfig(f) -#endif - -/** -@} -*/ - -#ifdef __cplusplus -} -#endif - -#endif /* _OI_CODEC_SBC_CORE_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_sbc_private.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_sbc_private.h deleted file mode 100644 index 09b2efc6..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_sbc_private.h +++ /dev/null @@ -1,234 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_CODEC_SBC_PRIVATE_H -#define _OI_CODEC_SBC_PRIVATE_H - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** -@file -Function prototypes and macro definitions used internally by the codec. - -@ingroup codec_internal -*/ - -/** -@addtogroup codec_internal -@{ -*/ - -#ifdef USE_RESTRICT_KEYWORD -#define RESTRICT restrict -#else -#define RESTRICT -#endif - -#ifdef CODEC_DEBUG -#include -#define ERROR(x) \ - do { \ - BT_WARN x; \ - BT_WARN("\n"); \ - } while (0) -#else -#define ERROR(x) -#endif - -#ifdef TRACE_EXECUTION -#define TRACE(x) \ - do { \ - BT_WARN x; \ - BT_WARN("\n"); \ - } while (0) -#else -#define TRACE(x) -#endif - -#ifndef PRIVATE -#define PRIVATE -#endif - -#ifndef INLINE -#define INLINE -#endif - -#include "oi_assert.h" -#include "oi_codec_sbc.h" - -#ifndef OI_SBC_SYNCWORD -#define OI_SBC_SYNCWORD 0x9c -#endif - -#ifndef DIVIDE -#define DIVIDE(a, b) ((a) / (b)) -#endif - -typedef union { - OI_UINT8 uint8[SBC_MAX_BANDS]; - OI_UINT32 uint32[SBC_MAX_BANDS / 4]; -} BITNEED_UNION1; - -typedef union { - OI_UINT8 uint8[2 * SBC_MAX_BANDS]; - OI_UINT32 uint32[2 * SBC_MAX_BANDS / 4]; -} BITNEED_UNION2; - -static const OI_UINT16 freq_values[] = { 16000, 32000, 44100, 48000 }; -static const OI_UINT8 block_values[] = { 4, 8, 12, 16 }; -static const OI_UINT8 channel_values[] = { 1, 2, 2, 2 }; -static const OI_UINT8 band_values[] = { 4, 8 }; - -#define TEST_MODE_SENTINEL "OINA" -#define TEST_MODE_SENTINEL_LENGTH 4 - -/** Used internally. */ -typedef struct { - union { - const OI_UINT8 *r; - OI_UINT8 *w; - } ptr; - OI_UINT32 value; - OI_UINT bitPtr; -} OI_BITSTREAM; - -#define VALID_INT16(x) (((x) >= OI_INT16_MIN) && ((x) <= OI_INT16_MAX)) -#define VALID_INT32(x) (((x) >= OI_INT32_MIN) && ((x) <= OI_INT32_MAX)) - -#define DCTII_8_SHIFT_IN 0 -#define DCTII_8_SHIFT_OUT 16 - DCTII_8_SHIFT_IN - -#define DCTII_8_SHIFT_0 (DCTII_8_SHIFT_OUT) -#define DCTII_8_SHIFT_1 (DCTII_8_SHIFT_OUT) -#define DCTII_8_SHIFT_2 (DCTII_8_SHIFT_OUT) -#define DCTII_8_SHIFT_3 (DCTII_8_SHIFT_OUT) -#define DCTII_8_SHIFT_4 (DCTII_8_SHIFT_OUT) -#define DCTII_8_SHIFT_5 (DCTII_8_SHIFT_OUT) -#define DCTII_8_SHIFT_6 (DCTII_8_SHIFT_OUT - 1) -#define DCTII_8_SHIFT_7 (DCTII_8_SHIFT_OUT - 2) - -#define DCT_SHIFT 15 - -#define DCTIII_4_SHIFT_IN 2 -#define DCTIII_4_SHIFT_OUT 15 - -#define DCTIII_8_SHIFT_IN 3 -#define DCTIII_8_SHIFT_OUT 14 - -OI_UINT computeBitneed(OI_CODEC_SBC_COMMON_CONTEXT *common, - OI_UINT8 *bitneeds, - OI_UINT ch, - OI_UINT *preferredBitpool); - -void oneChannelBitAllocation(OI_CODEC_SBC_COMMON_CONTEXT *common, - BITNEED_UNION1 *bitneeds, - OI_UINT ch, - OI_UINT bitcount); - -OI_INT adjustToFitBitpool(const OI_UINT bitpool, - OI_UINT32 *bitneeds, - const OI_UINT subbands, - OI_UINT bitcount, - OI_UINT *excess); - -OI_INT allocAdjustedBits(OI_UINT8 *dest, - OI_INT bits, - OI_INT excess); - -OI_INT allocExcessBits(OI_UINT8 *dest, - OI_INT excess); - -PRIVATE OI_UINT32 internal_CalculateBitrate(OI_CODEC_SBC_FRAME_INFO *frame); - -PRIVATE OI_UINT16 internal_CalculateFramelen(OI_CODEC_SBC_FRAME_INFO *frame); - -void monoBitAllocation(OI_CODEC_SBC_COMMON_CONTEXT *common); - -typedef void (*BIT_ALLOC)(OI_CODEC_SBC_COMMON_CONTEXT *common); - -PRIVATE OI_STATUS internal_DecodeRaw(OI_CODEC_SBC_DECODER_CONTEXT *context, - OI_UINT8 bitpool, - const OI_BYTE **frameData, - OI_UINT32 *frameBytes, - OI_INT16 *pcmData, - OI_UINT32 *pcmBytes); - -OI_STATUS internal_DecoderReset(OI_CODEC_SBC_DECODER_CONTEXT *context, - OI_UINT32 *decoderData, - OI_UINT32 decoderDataBytes, - OI_BYTE maxChannels, - OI_BYTE pcmStride, - OI_BOOL enhanced, - OI_BOOL msbc_enable); - -OI_UINT16 OI_SBC_CalculateFrameAndHeaderlen(OI_CODEC_SBC_FRAME_INFO *frame, OI_UINT *headerLen_); - -PRIVATE OI_UINT32 OI_SBC_MaxBitpool(OI_CODEC_SBC_FRAME_INFO *frame); - -PRIVATE void OI_SBC_ComputeBitAllocation(OI_CODEC_SBC_COMMON_CONTEXT *frame); -PRIVATE OI_UINT8 OI_SBC_CalculateChecksum(OI_CODEC_SBC_FRAME_INFO *frame, OI_BYTE const *data); - -/* Transform functions */ -PRIVATE void shift_buffer(SBC_BUFFER_T *dest, SBC_BUFFER_T *src, OI_UINT wordCount); -PRIVATE void cosineModulateSynth4(SBC_BUFFER_T *RESTRICT out, OI_INT32 const *RESTRICT in); -PRIVATE void SynthWindow40_int32_int32_symmetry_with_sum(OI_INT16 *pcm, SBC_BUFFER_T buffer[80], OI_UINT strideShift); - -void dct3_4(OI_INT32 *RESTRICT out, OI_INT32 const *RESTRICT in); -PRIVATE void analyze4_generated(SBC_BUFFER_T analysisBuffer[RESTRICT 40], - OI_INT16 *pcm, - OI_UINT strideShift, - OI_INT32 subband[4]); - -void dct3_8(OI_INT32 *RESTRICT out, OI_INT32 const *RESTRICT in); - -PRIVATE void analyze8_generated(SBC_BUFFER_T analysisBuffer[RESTRICT 80], - OI_INT16 *pcm, - OI_UINT strideShift, - OI_INT32 subband[8]); - -#ifdef SBC_ENHANCED -PRIVATE void analyze8_enhanced_generated(SBC_BUFFER_T analysisBuffer[RESTRICT 112], - OI_INT16 *pcm, - OI_UINT strideShift, - OI_INT32 subband[8]); -#endif - -/* Decoder functions */ - -void OI_SBC_ReadHeader(OI_CODEC_SBC_COMMON_CONTEXT *common, const OI_BYTE *data); -PRIVATE void OI_SBC_ReadScalefactors(OI_CODEC_SBC_COMMON_CONTEXT *common, const OI_BYTE *b, OI_BITSTREAM *bs); -PRIVATE void OI_SBC_ReadSamples(OI_CODEC_SBC_DECODER_CONTEXT *common, OI_BITSTREAM *ob); -PRIVATE void OI_SBC_ReadSamplesJoint(OI_CODEC_SBC_DECODER_CONTEXT *common, OI_BITSTREAM *global_bs); -PRIVATE void OI_SBC_SynthFrame(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_INT16 *pcm, OI_UINT start_block, OI_UINT nrof_blocks); -OI_INT32 OI_SBC_Dequant(OI_UINT32 raw, OI_UINT scale_factor, OI_UINT bits); -PRIVATE OI_BOOL OI_SBC_ExamineCommandPacket(OI_CODEC_SBC_DECODER_CONTEXT *context, const OI_BYTE *data, OI_UINT32 len); -PRIVATE void OI_SBC_GenerateTestSignal(OI_INT16 pcmData[][2], OI_UINT32 sampleCount); - -PRIVATE void OI_SBC_ExpandFrameFields(OI_CODEC_SBC_FRAME_INFO *frame); -PRIVATE OI_STATUS OI_CODEC_SBC_Alloc(OI_CODEC_SBC_COMMON_CONTEXT *common, - OI_UINT32 *codecDataAligned, - OI_UINT32 codecDataBytes, - OI_UINT8 maxChannels, - OI_UINT8 pcmStride); -/** -@} -*/ - -#endif /* _OI_CODEC_SBC_PRIVATE_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_version.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_version.c deleted file mode 100644 index e033226f..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_codec_version.c +++ /dev/null @@ -1,57 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/** -@file -This file contains a single function, which returns a string indicating the -version number of the eSBC codec - -@ingroup codec_internal -*/ - -/** -@addtogroup codec_internal -@{ -*/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ -#include "oi_codec_sbc_private.h" -#include "oi_stddefs.h" - -#if defined(SBC_DEC_INCLUDED) -/** Version string for the BLUEmagic 3.0 protocol stack and profiles */ -PRIVATE OI_CHAR *const codecVersion = "v1.5" -#ifdef OI_SBC_EVAL - " (Evaluation version)" -#endif - ; - -/** This function returns the version string for the BLUEmagic 3.0 protocol stack - and profiles */ -OI_CHAR *OI_CODEC_Version(void) { return codecVersion; } - -/**********************************************************************************/ - -/** -@} -*/ - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_common.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_common.h deleted file mode 100644 index 39eda8f7..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_common.h +++ /dev/null @@ -1,42 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_COMMON_H -#define _OI_COMMON_H -/** - * @file - * - * This file is used to group commonly used BLUEmagic 3.0 software - * header files. - * - * This file should be included in application source code along with the header - * files for the specific modules of the protocol stack being used. - */ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -#include "oi_bt_spec.h" -#include "oi_stddefs.h" -#include "oi_status.h" -#include "oi_time.h" -#include "oi_osinterface.h" - -/*****************************************************************************/ -#endif /* _OI_COMMON_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_cpu_dep.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_cpu_dep.h deleted file mode 100644 index 04d41266..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_cpu_dep.h +++ /dev/null @@ -1,498 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_CPU_DEP_H -#define _OI_CPU_DEP_H -/** - * @file - * This file contains definitions for characteristics of the target CPU and - * compiler, including primitive data types and endianness. - * - * This file defines the byte order and primitive data types for various - * CPU families. The preprocessor symbol 'CPU' must be defined to be an - * appropriate value or this header will generate a compile-time error. - * - * @note The documentation for this header file uses the x86 family of processors - * as an illustrative example for CPU/compiler-dependent data type definitions. - * Go to the source code of this header file to see the details of primitive type - * definitions for each platform. - * - * Additional information is available in the @ref data_types_docpage section. - */ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** \addtogroup Misc Miscellaneous APIs */ -/**@{*/ - -/** @name Definitions indicating family of target OI_CPU_TYPE - * @{ - */ - -#define OI_CPU_X86 1 /**< x86 processor family */ -#define OI_CPU_ARM 2 /**< ARM processor family. - @deprecated Use #OI_CPU_ARM7_LEND or - #OI_CPU_ARM7_BEND. */ -#define OI_CPU_ARC 3 /**< ARC processor family. - @deprecated Use #OI_CPU_ARC_LEND or - #OI_CPU_ARC_BEND. */ -#define OI_CPU_SH3 4 /**< Hitachi SH-3 processor family */ -#define OI_CPU_H8 5 /**< Hitachi H8 processor family */ -#define OI_CPU_MIPS 6 /**< MIPS processor family */ -#define OI_CPU_SPARC 7 /**< SPARC processor family */ -#define OI_CPU_M68000 8 /**< Motorola M68000 processor family */ -#define OI_CPU_PPC 9 /**< PowerPC (PPC) processor family */ -#define OI_CPU_SH4_7750 10 /**< Hitachi SH7750 series in SH-4 processor family */ -#define OI_CPU_SH2 11 /**< Hitachi SH-2 processor family */ -#define OI_CPU_ARM7_LEND 12 /**< ARM7, little-endian */ -#define OI_CPU_ARM7_BEND 13 /**< ARM7, big-endian */ -#define OI_CPU_GDM1202 14 /**< GCT GDM1202 */ -#define OI_CPU_ARC_LEND 15 /**< ARC processor family, little-endian */ -#define OI_CPU_ARC_BEND 16 /**< ARC processor family, big-endian */ -#define OI_CPU_M30833F 17 /**< Mitsubishi M308 processor family */ -#define OI_CPU_CR16C 18 /**< National Semiconductor 16 bit processor family */ -#define OI_CPU_M64111 19 /**< Renesas M64111 processor (M32R family) */ -#define OI_CPU_ARMV5_LEND 20 //*< ARM5, little-endian */ - -#define OI_CPU_TYPE 12 - -#ifndef OI_CPU_TYPE -#error "OI_CPU_TYPE type not defined" -#endif - -/**@}*/ - -/** @name Definitions indicating byte-wise endianness of target CPU - * @{ - */ - -#define OI_BIG_ENDIAN_BYTE_ORDER 0 /**< Multiple-byte values are stored in memory beginning with the most significant byte at the lowest address. */ -#define OI_LITTLE_ENDIAN_BYTE_ORDER 1 /**< Multiple-byte values are stored in memory beginning with the least significant byte at the lowest address. */ - -/**@}*/ - -/** @name CPU/compiler-independent primitive data type definitions - * @{ - */ - -typedef int OI_BOOL; /**< Boolean values use native integer data type for target CPU. */ -typedef int OI_INT; /**< Integer values use native integer data type for target CPU. */ -typedef unsigned int OI_UINT; /**< Unsigned integer values use native unsigned integer data type for target CPU. */ -typedef unsigned char OI_BYTE; /**< Raw bytes type uses native character data type for target CPU. */ - -/**@}*/ - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_X86 - -#define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER /**< x86 platform byte ordering is little-endian */ - -/** @name CPU/compiler-dependent primitive data type definitions for x86 processor family - * @{ - */ -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for x86 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for x86 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for x86 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for x86 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for x86 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for x86 processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_ARM -/* This CPU type is deprecated (removed from use). Instead, use OI_CPU_ARM7_LEND or OI_CPU_ARM7_BEND for - little-endian or big-endian configurations of the ARM7, respectively. */ -#error OI_CPU_ARM is deprecated -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_ARC -/* This CPU type is deprecated (removed from use). Instead, use OI_CPU_ARC_LEND or OI_CPU_ARC_BEND for - little-endian or big-endian configurations of the ARC, respectively. */ -#error OI_CPU_ARC is deprecated -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_SH3 -/* The Hitachi SH C compiler defines _LIT or _BIG, depending on the endianness - specified to the compiler on the command line. */ -#if defined(_LIT) -#define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER /**< If _LIT is defined, SH-3 platform byte ordering is little-endian. */ -#elif defined(_BIG) -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER /**< If _BIG is defined, SH-3 platform byte ordering is big-endian. */ -#else -#error SH compiler endianness undefined -#endif - -/** @name CPU/compiler-dependent primitive data type definitions for SH-3 processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for SH-3 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for SH-3 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for SH-3 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for SH-3 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for SH-3 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for SH-3 processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_SH2 - -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER /**< SH-2 platform byte ordering is big-endian. */ - -/** @name CPU/compiler-dependent primitive data type definitions for SH-2 processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for SH-2 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for SH-2 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for SH-2 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for SH-2 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for SH-2 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for SH-2 processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_H8 -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER -#error basic types not defined -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_MIPS -#define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER -/** @name CPU/compiler-dependent primitive data type definitions for MIPS processor family - * @{ - */ -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARM7 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARM7 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARM7 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARM7 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARM7 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARM7 processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_SPARC -#define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER -#error basic types not defined -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_M68000 -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER /**< M68000 platform byte ordering is big-endian. */ - -/** @name CPU/compiler-dependent primitive data type definitions for M68000 processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for M68000 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for M68000 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for M68000 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for M68000 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for M68000 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for M68000 processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_PPC -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER - -/** @name CPU/compiler-dependent primitive data type definitions for PPC 8XX processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for PPC8XX processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for PPC8XX processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for PPC8XX processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for PPC8XX processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for PPC8XX processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for PPC8XX processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_SH4_7750 -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER /**< SH7750 platform byte ordering is big-endian. */ - -/** @name CPU/compiler-dependent primitive data type definitions for SH7750 processor series of the SH-4 processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for SH7750 SH-4 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for SH7750 SH-4 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for SH7750 SH-4 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for SH7750 SH-4 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for SH7750 SH-4 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for SH7750 SH-4 processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_ARM7_LEND -#define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER - -/** @name little-endian CPU/compiler-dependent primitive data type definitions for the ARM7 processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARM7 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARM7 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARM7 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARM7 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARM7 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARM7 processor. */ - -typedef void *OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_ARM7_BEND -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER -/** @name big-endian CPU/compiler-dependent primitive data type definitions for the ARM7 processor family - * @{ - */ -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARM7 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARM7 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARM7 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARM7 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARM7 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARM7 processor. */ - -typedef void *OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_GDM1202 -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER - -typedef signed char OI_INT8; /**< 8-bit signed integer. */ -typedef signed short OI_INT16; /**< 16-bit signed integer. */ -typedef signed long OI_INT32; /**< 32-bit signed integer. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_ARC_LEND - -#define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER - -/** @name CPU/compiler-dependent primitive data type definitions for ARC processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARC processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARC processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARC processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARC processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARC processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARC processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_ARC_BEND - -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER - -/** @name CPU/compiler-dependent primitive data type definitions for ARC processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARC processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARC processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARC processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARC processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARC processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARC processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_M30833F - -#define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER - -/** @name CPU/compiler-dependent primitive data type definitions for Mitsubishi M308 processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for M308 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for M308 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for M308 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for M308 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for M308 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for M308 processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_CR16C - -#define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER - -/** @name CPU/compiler-dependent primitive data type definitions for National Semicnductor processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for CR16C processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for CR16C processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for CR16C processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for CR16C processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for CR16C processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for CR16C processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_M64111 - -#define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER - -/** @name CPU/compiler-dependent primitive data type definitions for Renesas M32R processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for M64111 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for M64111 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for M64111 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for M64111 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for M64111 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for M64111 processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ -#endif - -/*********************************************************************************/ - -#if OI_CPU_TYPE == OI_CPU_ARMV5_LEND -#define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER - -/** @name little-endian CPU/compiler-dependent primitive data type definitions for the ARM7 processor family - * @{ - */ - -typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARM7 processor. */ -typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARM7 processor. */ -typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARM7 processor. */ -typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARM7 processor. */ -typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARM7 processor. */ -typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARM7 processor. */ - -typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */ - -/**@}*/ - -#endif - -/*********************************************************************************/ - -#ifndef OI_CPU_BYTE_ORDER -#error "Byte order (endian-ness) not defined" -#endif - -/**@}*/ - -#ifdef __cplusplus -} -#endif - -/*********************************************************************************/ -#endif /* _OI_CPU_DEP_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_modules.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_modules.h deleted file mode 100644 index 90e998ce..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_modules.h +++ /dev/null @@ -1,166 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_MODULES_H -#define _OI_MODULES_H -/** - * @file - * - * Enumeration type defining the inidivual stack components. - * - */ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** \addtogroup Misc Miscellaneous APIs */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * This enumeration lists constants for referencing the components of - * the BLUEmagic 3.0 protocol stack, profiles, and other functionalities. - * - * In order to distinguish types of modules, items are grouped with markers to - * delineate start and end of the groups - * - * The module type is used for various purposes: - * identification in debug print statements - * access to initialization flags - * access to the configuration table - */ - -typedef enum { - /* profiles and protocols --> Updates to oi_debug.c and oi_config_table.c */ - - /* XX --> Keep Enum values up-to-date! */ - OI_MODULE_AT, /**< 00 AT command processing */ - OI_MODULE_A2DP, /**< 01 Advanced Audio Distribution Profile */ - OI_MODULE_AVCTP, /**< 02 Audio-Visual Control Transport Profile */ - OI_MODULE_AVDTP, /**< 03 Audio-Visual Distribution Protocol */ - OI_MODULE_AVRCP, /**< 04 Audio-Visual Remote Control Profile */ - OI_MODULE_BIP_CLI, /**< 05 Basic Imaging Profile protocol client */ - OI_MODULE_BIP_SRV, /**< 06 Basic Imaging Profile protocol server */ - OI_MODULE_BNEP, /**< 07 Bluetooth Network Encapsulation Protocol */ - OI_MODULE_BPP_SENDER, /**< 08 Basic Printing Profile */ - OI_MODULE_BPP_PRINTER, /**< 09 Basic Printing Profile */ - OI_MODULE_CTP, /**< 10 Cordless Telephony Profile */ - OI_MODULE_DUN, /**< 11 Dial-Up Networking Profile */ - OI_MODULE_FAX, /**< 12 Fax Profile */ - OI_MODULE_FTP_CLI, /**< 13 File Transfer Profile protocol client */ - OI_MODULE_FTP_SRV, /**< 14 File Transfer Profile protocol server */ - OI_MODULE_HANDSFREE, /**< 15 Hands-Free Profile */ - OI_MODULE_HANDSFREE_AG, /**< 16 Hands-Free Profile */ - OI_MODULE_HCRP_CLI, /**< 17 Hardcopy Cable Replacement Profile */ - OI_MODULE_HCRP_SRV, /**< 18 Hardcopy Cable Replacement Profile */ - OI_MODULE_HEADSET, /**< 19 Headset Profile */ - OI_MODULE_HEADSET_AG, /**< 20 Headset Profile */ - OI_MODULE_HID, /**< 21 Human Interface Device profile */ - OI_MODULE_INTERCOM, /**< 22 Intercom Profile */ - OI_MODULE_OBEX_CLI, /**< 23 OBEX protocol client, Generic Object Exchange Profile */ - OI_MODULE_OBEX_SRV, /**< 24 OBEX protocol server, Generic Object Exchange Profile */ - OI_MODULE_OPP_CLI, /**< 25 Object Push Profile protocol client */ - OI_MODULE_OPP_SRV, /**< 26 Object Push Profile protocol server */ - OI_MODULE_PAN, /**< 27 PAN profile */ - OI_MODULE_PBAP_CLI, /**< 28 Phonebook Access Profile client */ - OI_MODULE_PBAP_SRV, /**< 29 Phonebook Access Profile server */ - OI_MODULE_SAP_CLI, /**< 30 SIM Access Profile */ - OI_MODULE_SAP_SRV, /**< 31 SIM Access Profile */ - OI_MODULE_SPP, /**< 32 Serial Port Profile */ - OI_MODULE_SYNC_CLI, /**< 33 Synchronization Profile */ - OI_MODULE_SYNC_SRV, /**< 34 Synchronization Profile */ - OI_MODULE_SYNC_CMD_CLI, /**< 35 Synchronization Profile */ - OI_MODULE_SYNC_CMD_SRV, /**< 36 Synchronization Profile */ - OI_MODULE_SYNCML, /**< 37 SyncML Profile */ - OI_MODULE_TCS, /**< 38 TCS Binary */ - OI_MODULE_VDP, /**< 39 Video Distribution Profile */ - - /* corestack components --> Updates to oi_debug.c and oi_config_table.c */ - - OI_MODULE_COMMON_CONFIG, /**< 40 Common configuration, module has no meaning other than for config struct */ - OI_MODULE_CMDCHAIN, /**< 41 Command chaining utility */ - OI_MODULE_DISPATCH, /**< 42 Dispatcher */ - OI_MODULE_DATAELEM, /**< 43 Data Elements, marshaller */ - OI_MODULE_DEVMGR, /**< 44 Device Manager */ - OI_MODULE_DEVMGR_MODES, /**< 45 Device Manager connectability/discoverability modes */ - OI_MODULE_HCI, /**< 46 Host Controller Interface command layer */ - OI_MODULE_L2CAP, /**< 47 L2CAP */ - OI_MODULE_MEMMGR, /**< 48 modules that do memory management */ - OI_MODULE_POLICYMGR, /**< 49 Policy Manager */ - OI_MODULE_RFCOMM, /**< 50 RFCOMM */ - OI_MODULE_RFCOMM_SD, /**< 51 RFCOMM Service discovery */ - OI_MODULE_SDP_CLI, /**< 52 Service Discovery Protocol client */ - OI_MODULE_SDP_SRV, /**< 53 Service Discovery Protocol server */ - OI_MODULE_SDPDB, /**< 54 Service Discovery Protocol database */ - OI_MODULE_SECMGR, /**< 55 Security Manager */ - OI_MODULE_SNIFFLOG, /**< 56 sniff log */ - OI_MODULE_SUPPORT, /**< 57 support functions, including CThru Dispatcher, time functions, and stack initialization */ - OI_MODULE_TRANSPORT, /**< 58 transport layer between HCI command layer and driver */ - OI_MODULE_TEST, /**< 59 used to debug output from internal test programs */ - OI_MODULE_XML, /**< 60 XML/CSS parser */ - - OI_MODULE_DI, /**< 61 Device Identification Profile */ - - // bhapi components --> Updates to oi_debug.c - - OI_MODULE_BHAPI, /**< 62 BLUEmagic Host API generic */ - OI_MODULE_BHCLI, /**< 63 BLUEmagic Host API client side */ - OI_MODULE_BHSRV, /**< 64 BLUEmagic Host API server side */ - OI_MODULE_MSGQ, /**< 65 module that handles message queuing */ - OI_MODULE_BHAPI_TRANSPORT, /**< 66 module that handles message queuing */ - OI_MODULE_BLST_SRV, /**< 67 module that provides server side BHAPI Lightweight Serial Transport */ - OI_MODULE_BLST_CLI, /**< 68 module that provides client side BHAPI Lightweight Serial Transport */ - - // OEM files --> Updates to oi_debug.c - OI_MODULE_OEM, /**< 69 Application Memory allocation */ - - // Application glue --> Updates to oi_debug.c - OI_MODULE_APP, /**< 70 Application Memory allocation */ - - /* various pieces of code depend on these last 2 elements occuring in a specific order: - OI_MODULE_ALL must be the 2nd to last element - OI_MODULE_UNKNOWN must be the last element - */ - OI_MODULE_ALL, /**< 71 special value identifying all modules - used for control of debug print statements */ - OI_MODULE_UNKNOWN /**< 72 special value - used for debug print statements */ -} OI_MODULE; - -/** - * This constant is the number of actual modules in the list. ALL and UNKNOWN are - * special values that are not actually modules. - * Used for debug print and memmgr profiling - */ -#define OI_NUM_MODULES OI_MODULE_ALL - -/** - * This constant is the number of profile and core components. It is used to size - * the initialization and configuration tables. - */ -#define OI_NUM_STACK_MODULES OI_MODULE_BHAPI - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif /* _OI_MODULES_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_osinterface.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_osinterface.h deleted file mode 100644 index dfd425a9..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_osinterface.h +++ /dev/null @@ -1,196 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_OSINTERFACE_H -#define _OI_OSINTERFACE_H -/** - @file - * This file provides the platform-independent interface for functions for which - * implementation is platform-specific. - * - * The functions in this header file define the operating system or hardware - * services needed by the BLUEmagic 3.0 protocol stack. The - * actual implementation of these services is platform-dependent. - * - */ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -#include "oi_stddefs.h" -#include "oi_time.h" -#include "oi_status.h" -#include "oi_modules.h" - -/** \addtogroup Misc Miscellaneous APIs */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Terminates execution. - * - * @param reason Reason for termination - */ -void OI_FatalError(OI_STATUS reason); - -/** - * This function logs an error. - * - * When built for release mode, BLUEmagic 3 errors are logged to - * this function. (in debug mode, errors are logged via - * OI_Print()). - * - * @param module Module in which the error was detected (see - * oi_modules.h) - * @param lineno Line number of the C file OI_SLOG_ERROR called - * @param status Status code associated with the error event - */ -void OI_LogError(OI_MODULE module, OI_INT lineno, OI_STATUS status); - -/** - * This function initializes the debug code handling. - * - * When built for debug mode, this function performs platform - * dependent initialization to handle message codes passed in - * via OI_SetMsgCode(). - */ -void OI_InitDebugCodeHandler(void); - -/** - * This function reads the time from the real time clock. - * - * All timing in BM3 is relative, typically a granularity - * of 5 or 10 msecs is adequate. - * - * @param[out] now Pointer to the buffer to which the current - * time will be returned - */ -void OI_Time_Now(OI_TIME *now); - -/** - * This function causes the current thread to sleep for the - * specified amount of time. This function must be called - * without the stack access token. - * - * @note BM3 corestack and profiles never suspend and never call - * OI_Sleep. The use of OI_Sleep is limited to applications and - * platform-specific code. - * - * If your port and applications never use OI_Sleep, this function can be left unimplemented. - * - * @param milliseconds Number of milliseconds to sleep - */ -void OI_Sleep(OI_UINT32 milliseconds); - -/** - * Defines for message type codes. - */ -#define OI_MSG_CODE_APPLICATION 0 /**< Application output */ -#define OI_MSG_CODE_ERROR 1 /**< Error message output */ -#define OI_MSG_CODE_WARNING 2 /**< Warning message output */ -#define OI_MSG_CODE_TRACE 3 /**< User API function trace output */ -#define OI_MSG_CODE_PRINT1 4 /**< Catagory 1 debug print output */ -#define OI_MSG_CODE_PRINT2 5 /**< Catagory 2 debug print output */ -#define OI_MSG_CODE_HEADER 6 /**< Error/Debug output header */ - -/** - * This function is used to indicate the type of text being output with - * OI_Print(). For the Linux and Win32 platforms, it will set - * the color of the text. Other possible uses could be to insert - * HTML style tags, add some other message type indication, or - * be completely ignored altogether. - * - * @param code OI_MSG_CODE_* indicating setting the message type. - */ -void OI_SetMsgCode(OI_UINT8 code); - -/** - * All output from OI_Printf() and all debug output is sent to OI_Print. - * Typically, if the platform has a console, OI_Print() is sent to stdout. - * Embedded platforms typically send OI_Print() output to a serial port. - * - * @param str String to print - */ -void OI_Print(OI_CHAR const *str); - -/** - * In cases where OI_Print() is sending output to a logfile in addition to console, - * it is desirable to also put console input into the logfile. - * This function can be called by the console input process. - * - * @note This is an optional API which is strictly - * between the platform-specific stack_console and osinterface - * modules. This API need only be implemented on those - * platforms where is serves a useful purpose, e.g., win32. - * - * @param str Console input string - */ - -void OI_Print_ConsoleInput(OI_CHAR const *str); - -/** - * This function computes the CRC16 of the program image. - */ -OI_UINT16 OI_ProgramImageCRC16(void); - -/** - * Writes an integer to stdout in hex. This macro is intended - * for selective use when debugging in small memory - * configurations or other times when it is not possible to use - * OI_DBGPRINT. - * - * @param n the integer to print - */ - -#define OI_Print_Int(n) \ - { \ - static const OI_CHAR _digits[] = "0123456789ABCDEF"; \ - OI_CHAR _buf[9]; \ - OI_CHAR *_str = &_buf[8]; \ - OI_UINT32 _i = n; \ - *_str = 0; \ - do { \ - *(--_str) = _digits[(_i & 0xF)]; \ - _i >>= 4; \ - } while (_i); \ - OI_Print(_str); \ - } - -/** - * Application Dynamic Memory allocation. - * - * These APIs are provided for application use on those - * platforms which have no dynamic memory support. Memory is - * allocated from the pool-based heap managed by the stack's - * internal memory manager. - */ -void *OI_APP_Malloc(OI_INT32 size); -void OI_APP_Free(void *ptr); - -/*****************************************************************************/ -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif /* _OI_OSINTERFACE_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_status.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_status.h deleted file mode 100644 index b2a39795..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_status.h +++ /dev/null @@ -1,572 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_STATUS_H -#define _OI_STATUS_H -/** - * @file - * This file contains status codes for BLUEmagic 3.0 software. - */ - -#include "oi_stddefs.h" - -/** \addtogroup Misc Miscellaneous APIs */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** test it **/ - -/** - * OI_STATUS must fit in 16 bits, so status codes can range from 0 to 66535, inclusive. - */ - -typedef enum { - OI_STATUS_SUCCESS = 0, /**< function call succeeded alias for #OI_OK */ - OI_OK = 0, /**< function call succeeded alias for #OI_STATUS_SUCCESS */ - OI_STATUS_INVALID_PARAMETERS = 101, /**< invalid function input parameters */ - OI_STATUS_NOT_IMPLEMENTED = 102, /**< attempt to use an unimplemented function */ - OI_STATUS_NOT_INITIALIZED = 103, /**< data not initialized */ - OI_STATUS_NO_RESOURCES = 104, /**< generic resource allocation failure status */ - OI_STATUS_INTERNAL_ERROR = 105, /**< internal inconsistency */ - OI_STATUS_OUT_OF_MEMORY = 106, /**< generally, OI_Malloc failed */ - OI_ILLEGAL_REENTRANT_CALL = 107, /**< violation of non-reentrant module policy */ - OI_STATUS_INITIALIZATION_FAILED = 108, /**< module initialization failed */ - OI_STATUS_INITIALIZATION_PENDING = 109, /**< inititialization not yet complete */ - OI_STATUS_NO_SCO_SUPPORT = 110, /**< SCO operation rejected; system not configured for SCO */ - OI_STATUS_OUT_OF_STATIC_MEMORY = 111, /**< static malloc failed */ - OI_TIMEOUT = 112, /**< generic timeout */ - OI_OS_ERROR = 113, /**< some operating system error */ - OI_FAIL = 114, /**< generic failure */ - OI_STRING_FORMAT_ERROR = 115, /**< error in VarString formatting string */ - OI_STATUS_PENDING = 116, /**< The operation is pending. */ - OI_STATUS_INVALID_COMMAND = 117, /**< The command was invalid. */ - OI_BUSY_FAIL = 118, /**< command rejected due to busy */ - OI_STATUS_ALREADY_REGISTERED = 119, /**< The registration has already been performed. */ - OI_STATUS_NOT_FOUND = 120, /**< The referenced resource was not found. */ - OI_STATUS_NOT_REGISTERED = 121, /**< not registered */ - OI_STATUS_NOT_CONNECTED = 122, /**< not connected */ - OI_CALLBACK_FUNCTION_REQUIRED = 123, /**< A callback function parameter was required. */ - OI_STATUS_MBUF_OVERFLOW = 124, /**< There is no room to add another buffer to an mbuf. */ - OI_STATUS_MBUF_UNDERFLOW = 125, /**< There was an attempt to pull too many bytes from an mbuf. */ - OI_STATUS_CONNECTION_EXISTS = 126, /**< connection exists */ - OI_STATUS_NOT_CONFIGURED = 127, /**< module not configured */ - OI_LOWER_STACK_ERROR = 128, /**< An error was reported by lower stack API. This is used for embedded platforms. */ - OI_STATUS_RESET_IN_PROGRESS = 129, /**< Request failed/rejected because we're busy resetting. */ - OI_STATUS_ACCESS_DENIED = 130, /**< Generic access denied error. */ - OI_STATUS_DATA_ERROR = 131, /**< Generic data error. */ - OI_STATUS_INVALID_ROLE = 132, /**< The requested role was invalid. */ - OI_STATUS_ALREADY_CONNECTED = 133, /**< The requested connection is already established. */ - OI_STATUS_PARSE_ERROR = 134, /**< Parse error */ - OI_STATUS_END_OF_FILE = 135, /**< End of file */ - OI_STATUS_READ_ERROR = 136, /**< Generic read error */ - OI_STATUS_WRITE_ERROR = 137, /**< Generic write error */ - OI_STATUS_NEGOTIATION_FAILURE = 138, /**< Error in negotiation */ - OI_STATUS_READ_IN_PROGRESS = 139, /**< A read is already in progress */ - OI_STATUS_ALREADY_INITIALIZED = 140, /**< Initialization has already been done */ - OI_STATUS_STILL_CONNECTED = 141, /**< The service cannot be shutdown because there are still active connections. */ - OI_STATUS_MTU_EXCEEDED = 142, /**< The packet is too big */ - OI_STATUS_LINK_TERMINATED = 143, /**< The link was terminated */ - OI_STATUS_PIN_CODE_TOO_LONG = 144, /**< Application gave us a pin code that is too long */ - OI_STATUS_STILL_REGISTERED = 145, /**< The service cannot be shutdown because there are still active registrations. */ - OI_STATUS_SPEC_VIOLATION = 146, /**< Some application behavior contrary to BT specifications */ - - OI_STATUS_PSM_ALREADY_REGISTERED = 402, /**< L2CAP: The specified PSM has already been registered. */ - OI_STATUS_INVALID_CID = 403, /**< L2CAP: CID is invalid or no longer valid (connection terminated) */ - OI_STATUS_CID_NOT_FOUND = 404, /**< L2CAP: CID does not represent a current connection */ - OI_STATUS_CHANNEL_NOT_FOUND = 406, /**< L2CAP: CID does not represent a current connection */ - OI_STATUS_PSM_NOT_FOUND = 407, /**< L2CAP: PSM not found */ - OI_STATUS_INVALID_STATE = 408, /**< L2CAP: invalid state */ - OI_STATUS_WRITE_IN_PROGRESS = 410, /**< L2CAP: write in progress */ - OI_STATUS_INVALID_PACKET = 411, /**< L2CAP: invalid packet */ - OI_STATUS_SEND_COMPLETE = 412, /**< L2CAP: send is complete */ - OI_STATUS_INVALID_HANDLE = 414, /**< L2CAP: handle is invalid */ - OI_STATUS_GROUP_FULL = 418, /**< L2CAP: No more members can be added to the specified group. */ - OI_STATUS_DEVICE_ALREADY_IN_GROUP = 423, /**< L2CAP: The device already exists in the group. */ - OI_STATUS_DUPLICATE_GROUP = 425, /**< L2CAP: attempt to add more than one group */ - OI_STATUS_EMPTY_GROUP = 426, /**< L2CAP: group is empty */ - OI_STATUS_PACKET_NOT_FOUND = 427, /**< L2CAP: packet not found */ - OI_STATUS_BUFFER_TOO_SMALL = 428, /**< L2CAP: The buffer size is too small. */ - OI_STATUS_IDENTIFIER_NOT_FOUND = 429, /**< L2CAP: identifier not found */ - - OI_L2CAP_DISCONNECT_LOWER_LAYER = 430, /**< L2CAP: The lower level forced a disconnect. */ - OI_L2CAP_DISCONNECT_REMOTE_REQUEST = 431, /**< L2CAP: The remote device requested a disconnect. */ - OI_L2CAP_GROUP_ADD_CONNECT_FAIL = 433, /**< L2CAP: Group add connect faiL */ - OI_L2CAP_GROUP_REMOVE_FAILURE = 434, /**< L2CAP: Group remove failure */ - OI_L2CAP_DATA_WRITE_ERROR_LINK_TERM = 435, /**< L2CAP: Data write error LINK_TERM */ - OI_L2CAP_DISCONNECT_LOCAL_REQUEST = 436, /**< L2CAP: Disconnect local request */ - - OI_L2CAP_CONNECT_TIMEOUT = 437, /**< L2CAP: Connect timeout */ - OI_L2CAP_DISCONNECT_TIMEOUT = 439, /**< L2CAP: Disconnect timeout */ - OI_L2CAP_PING_TIMEOUT = 440, /**< L2CAP: Ping timeout */ - OI_L2CAP_GET_INFO_TIMEOUT = 441, /**< L2CAP: Get info timeout */ - OI_L2CAP_INVALID_ADDRESS = 444, /**< L2CAP: Invalid address */ - OI_L2CAP_CMD_REJECT_RCVD = 445, /**< L2CAP: remote sent us 'command reject' response */ - - OI_L2CAP_CONNECT_BASE = 450, /**< L2CAP: Connect base */ - OI_L2CAP_CONNECT_PENDING = 451, /**< L2CAP: Connect pending */ - OI_L2CAP_CONNECT_REFUSED_INVALID_PSM = 452, /**< L2CAP: Connect refused invalid PSM */ - OI_L2CAP_CONNECT_REFUSED_SECURITY = 453, /**< L2CAP: Connect refused security */ - OI_L2CAP_CONNECT_REFUSED_NO_RESOURCES = 454, /**< L2CAP: Connect refused no resources */ - - OI_L2CAP_CONFIG_BASE = 460, /**< L2CAP: Config base */ - OI_L2CAP_CONFIG_FAIL_INVALID_PARAMETERS = 461, /**< L2CAP: Config fail invalid parameters */ - OI_L2CAP_CONFIG_FAIL_NO_REASON = 462, /**< L2CAP: Config fail no reason */ - OI_L2CAP_CONFIG_FAIL_UNKNOWN_OPTIONS = 463, /**< L2CAP: Config fail unknown options */ - - OI_L2CAP_GET_INFO_BASE = 470, /**< L2CAP: Get info base */ - OI_L2CAP_GET_INFO_NOT_SUPPORTED = 471, /**< L2CAP: Get info not supported */ - OI_L2CAP_MTU_EXCEEDED = 472, /**< L2CAP: The MTU of the channel was exceeded */ - OI_L2CAP_INVALID_PSM = 482, /**< L2CAP: Invalid PSM */ - OI_L2CAP_INVALID_MTU = 483, /**< L2CAP: Invalid MTU */ - OI_L2CAP_INVALID_FLUSHTO = 484, /**< L2CAP: Invalid flush timeout */ - - OI_HCI_NO_SUCH_CONNECTION = 601, /**< HCI: caller specified a non-existent connection handle */ - OI_HCI_CB_LIST_FULL = 603, /**< HCI: callback list is full, cannot attempt to send command */ - OI_HCI_EVENT_UNDERRUN = 605, /**< HCI: parsing event packet, premature end-of-parameters */ - OI_HCI_UNKNOWN_EVENT_CODE = 607, /**< HCI: event received - event code is unknown */ - OI_HCI_BAD_EVENT_PARM_LEN = 608, /**< HCI: event - parameter length is incorrect */ - OI_HCI_CMD_QUEUE_FULL = 611, /**< HCI: command queue is full */ - OI_HCI_SHORT_EVENT = 612, /**< HCI: event received, missing event code and/or parm len */ - OI_HCI_TRANSMIT_NOT_READY = 613, /**< HCI: ACL/SCO transmit request failed - busy or no buffers available */ - OI_HCI_ORPHAN_SENT_EVENT = 614, /**< HCI: got spurious 'sent' event from transport layer */ - OI_HCI_CMD_TABLE_ERROR = 615, /**< HCI: inconsistency in the internal command table */ - OI_HCI_UNKNOWN_CMD_ID = 616, /**< HCI: HciApi Command - unknown command id */ - OI_HCI_UNEXPECTED_EVENT = 619, /**< HCI: event received which only occurs in response to our cmd */ - OI_HCI_EVENT_TABLE_ERROR = 620, /**< HCI: inconsistency in the internal event table */ - OI_HCI_EXPECTED_EVENT_TIMOUT = 621, /**< HCI: timed out waiting for an expected event */ - OI_HCI_NO_CMD_DESC_FOR_OPCODE = 622, /**< HCI: event opcode is not known */ - OI_HCI_INVALID_OPCODE_ERROR = 623, /**< HCI: command opcode is invalid */ - OI_HCI_FLOW_CONTROL_DISABLED = 624, /**< HCI: can not use host flow control APIs if disabled in configuration */ - OI_HCI_TX_COMPLETE = 625, /**< HCI: packet delivery to Host Controler complete */ - OI_HCI_TX_ERROR = 626, /**< HCI: failed to deliver packet to Host Controler */ - OI_HCI_DEVICE_NOT_INITIALIZED = 627, /**< HCI: commands from upper layers disallowed until device is up and running */ - OI_HCI_UNSUPPORTED_COMMAND = 628, /**< HCI: command requested is not supported by local device */ - OI_HCI_PASSTHROUGH_ERROR = 629, /**< HCI: Error processing passthrough command */ - OI_HCI_PASSTHROUGH_ALREADY_SET = 630, /**< HCI: Passthrough mode already enabled */ - OI_HCI_RESET_FAILURE = 631, /**< HCI: failed to reset the device/baseband */ - OI_HCI_TRANSPORT_RESET = 632, /**< HCI: some operation failed because of a reset in the transport */ - OI_HCIERR_HCIIFC_INIT_FAILURE = 633, /**< HCI: failed to initialize transport layer interface */ - - OI_HCIERR_FIRST_ERROR_VALUE = 701, /**< marker for first HCI protocol error */ - OI_HCIERR_UNKNOWN_HCI_COMMAND = 701, /**< HCI: protocol error 0x01 */ - OI_HCIERR_NO_CONNECTION = 702, /**< HCI: protocol error 0x02 */ - OI_HCIERR_HARDWARE_FAILURE = 703, /**< HCI: protocol error 0x03 */ - OI_HCIERR_PAGE_TIMEOUT = 704, /**< HCI: protocol error 0x04 */ - OI_HCIERR_AUTHENTICATION_FAILURE = 705, /**< HCI: protocol error 0x05 */ - OI_HCIERR_KEY_MISSING = 706, /**< HCI: protocol error 0x06 */ - OI_HCIERR_MEMORY_FULL = 707, /**< HCI: protocol error 0x07 */ - OI_HCIERR_CONNECTION_TIMEOUT = 708, /**< HCI: protocol error 0x08 */ - OI_HCIERR_MAX_NUM_OF_CONNECTIONS = 709, /**< HCI: protocol error 0x09 */ - OI_HCIERR_MAX_NUM_OF_SCO_CONNECTIONS = 710, /**< HCI: protocol error 0x0A */ - OI_HCIERR_ACL_CONNECTION_ALREADY_EXISTS = 711, /**< HCI: protocol error 0x0B */ - OI_HCIERR_COMMAND_DISALLOWED = 712, /**< HCI: protocol error 0x0C */ - OI_HCIERR_HOST_REJECTED_RESOURCES = 713, /**< HCI: protocol error 0x0D */ - OI_HCIERR_HOST_REJECTED_SECURITY = 714, /**< HCI: protocol error 0x0E */ - OI_HCIERR_HOST_REJECTED_PERSONAL_DEVICE = 715, /**< HCI: protocol error 0x0F */ - OI_HCIERR_HOST_TIMEOUT = 716, /**< HCI: protocol error 0x10 */ - OI_HCIERR_UNSUPPORTED = 717, /**< HCI: protocol error 0x11 */ - OI_HCIERR_INVALID_PARAMETERS = 718, /**< HCI: protocol error 0x12 */ - OI_HCIERR_OTHER_END_USER_DISCONNECT = 719, /**< HCI: protocol error 0x13 */ - OI_HCIERR_OTHER_END_LOW_RESOURCES = 720, /**< HCI: protocol error 0x14 */ - OI_HCIERR_OTHER_END_POWERING_OFF = 721, /**< HCI: protocol error 0x15 */ - OI_HCIERR_CONNECTION_TERMINATED_LOCALLY = 722, /**< HCI: protocol error 0x16 */ - OI_HCIERR_REPEATED_ATTEMPTS = 723, /**< HCI: protocol error 0x17 */ - OI_HCIERR_PAIRING_NOT_ALLOWED = 724, /**< HCI: protocol error 0x18 */ - OI_HCIERR_UNKNOWN_LMP_PDU = 725, /**< HCI: protocol error 0x19 */ - OI_HCIERR_UNSUPPORTED_REMOTE_FEATURE = 726, /**< HCI: protocol error 0x1A */ - OI_HCIERR_SCO_OFFSET_REJECTED = 727, /**< HCI: protocol error 0x1B */ - OI_HCIERR_SCO_INTERVAL_REJECTED = 728, /**< HCI: protocol error 0x1C */ - OI_HCIERR_SCO_AIR_MODE_REJECTED = 729, /**< HCI: protocol error 0x1D */ - OI_HCIERR_INVALID_LMP_PARMS = 730, /**< HCI: protocol error 0x1E */ - OI_HCIERR_UNSPECIFIED_ERROR = 731, /**< HCI: protocol error 0x1F */ - OI_HCIERR_UNSUPPORTED_LMP_PARAMETERS = 732, /**< HCI: protocol error 0x20 */ - OI_HCIERR_ROLE_CHANGE_NOT_ALLOWED = 733, /**< HCI: protocol error 0x21 */ - OI_HCIERR_LMP_RESPONSE_TIMEOUT = 734, /**< HCI: protocol error 0x22 */ - OI_HCIERR_LMP_ERROR_TRANS_COLLISION = 735, /**< HCI: protocol error 0x23 */ - OI_HCIERR_LMP_PDU_NOT_ALLOWED = 736, /**< HCI: protocol error 0x24 */ - OI_HCIERR_ENCRYPTION_MODE_NOT_ACCEPTABLE = 737, /**< HCI: protocol error 0x25 */ - OI_HCIERR_UNIT_KEY_USED = 738, /**< HCI: protocol error 0x26 */ - OI_HCIERR_QOS_NOT_SUPPORTED = 739, /**< HCI: protocol error 0x27 */ - OI_HCIERR_INSTANT_PASSED = 740, /**< HCI: protocol error 0x28 */ - OI_HCIERR_UNIT_KEY_PAIRING_UNSUPPORTED = 741, /**< HCI: protocol error 0x29 */ - OI_HCIERR_DIFFERENT_TRANS_COLLISION = 742, /**< HCI: protocol error 0x2A */ - OI_HCIERR_RESERVED_2B = 743, /**< HCI: protocol error 0x2B */ - OI_HCIERR_QOS_UNACCEPTABLE_PARAMETER = 744, /**< HCI: protocol error 0x2C */ - OI_HCIERR_QOS_REJECTED = 745, /**< HCI: protocol error 0x2D */ - OI_HCIERR_CHANNEL_CLASSIFICATION_NS = 746, /**< HCI: protocol error 0x2E */ - OI_HCIERR_INSUFFICIENT_SECURITY = 747, /**< HCI: protocol error 0x2F */ - OI_HCIERR_PARM_OUT_OF_MANDATORY_RANGE = 748, /**< HCI: protocol error 0x30 */ - OI_HCIERR_RESERVED_31 = 749, /**< HCI: protocol error 0x31 */ - OI_HCIERR_ROLE_SWITCH_PENDING = 750, /**< HCI: protocol error 0x32 */ - OI_HCIERR_RESERVED_33 = 751, /**< HCI: protocol error 0x33 */ - OI_HCIERR_RESERVED_SLOT_VIOLATION = 752, /**< HCI: protocol error 0x34 */ - OI_HCIERR_ROLE_SWITCH_FAILED = 753, /**< HCI: protocol error 0x35 */ - OI_HCIERR_EIR_TOO_LARGE = 754, /**< HCI: protocol error 0x36 */ - OI_HCIERR_SSP_NOT_SUPPORTED_BY_HOST = 755, /**< HCI: protocol error 0x37 */ - OI_HCIERR_HOST_BUSY_PAIRING = 756, /**< HCI: protocol error 0x38 */ - - OI_HCIERR_UNKNOWN_ERROR = 757, /**< HCI: unknown error code */ - OI_HCIERR_LAST_ERROR_VALUE = 757, /**< marker for last HCI protocol error */ - - OI_SDP_SPEC_ERROR = 800, /**< SDP: Base error status for mapping OI_STATUS codes to SDP errors */ - OI_SDP_INVALID_SERVICE_RECORD_HANDLE = (OI_SDP_SPEC_ERROR + 2), /**< SDP: protocol error Invalid Service Record Handle */ - OI_SDP_INVALID_REQUEST_SYNTAX = (OI_SDP_SPEC_ERROR + 3), /**< SDP: protocol error Invalid Request Syntax */ - OI_SDP_INVALID_PDU_SIZE = (OI_SDP_SPEC_ERROR + 4), /**< SDP: protocol error Invalid PDU Size */ - OI_SDP_INVALID_CONTINUATION_STATE = (OI_SDP_SPEC_ERROR + 5), /**< SDP: protocol error Invalid Continuation State */ - OI_SDP_INSUFFICIENT_RESOURCES = (OI_SDP_SPEC_ERROR + 6), /**< SDP: protocol error Insufficient Resources */ - OI_SDP_ERROR = 807, /**< SDP: server returned an error code */ - OI_SDP_CORRUPT_DATA_ELEMENT = 808, /**< SDP: Invalid or corrupt data element representation */ - OI_SDP_SERVER_NOT_CONNECTED = 810, /**< SDP: Attempt to disconnect from an unconnected server */ - OI_SDP_ACCESS_DENIED = 811, /**< SDP: Server denied access to server */ - OI_SDP_ATTRIBUTES_OUT_OF_ORDER = 812, /**< SDP: Attributes in attribute list not in ascending order */ - OI_SDP_DEVICE_DOES_NOT_SUPPORT_SDP = 813, /**< SDP: Tried to connect to a device that does not support SDP */ - OI_SDP_NO_MORE_DATA = 815, /**< SDP: Server does not have more continuation data */ - OI_SDP_REQUEST_PARAMS_TOO_LONG = 816, /**< SDP: Parameters for a request exceed the L2CAP buffer size */ - OI_SDP_REQUEST_PENDING = 817, /**< SDP: Cannot make a request when another request is being processed */ - OI_SDP_SERVER_CONNECT_FAILED = 819, /**< SDP: Failed attempt to connect to an SDP server */ - OI_SDP_SERVER_TOO_MANY_CONNECTIONS = 821, /**< SDP: Exceeded maximum number of simultaneous server connections */ - OI_SDP_NO_MATCHING_SERVICE_RECORD = 823, /**< SDP: No service record matched the UUID list */ - OI_SDP_PARTIAL_RESPONSE = 824, /**< SDP: Internal use only */ - OI_SDP_ILLEGAL_ARGUMENT = 825, /**< SDP: Illegal argument passed to an SDP function */ - OI_SDP_ATTRIBUTE_NOT_FOUND = 826, /**< SDP: A requested attribute was not found in a service record */ - OI_SDP_DATABASE_OUT_OF_RESOURCES = 827, /**< SDP: server database is out of memory */ - OI_SDP_SHORT_PDU = 829, /**< SDP: Not enough bytes in the packet */ - OI_SDP_TRANSACTION_ID_MISMATCH = 830, /**< SDP: Transaction Id was not as expected */ - OI_SDP_UNEXPECTED_RESPONSE_PDU_ID = 831, /**< SDP: Did not expect this response PDU */ - OI_SDP_REQUEST_TIMEOUT = 832, /**< SDP: Did not get a response within the timeout period */ - OI_SDP_INVALID_RESPONSE_SYNTAX = 833, /**< SDP: Response is not correctly formatted */ - OI_SDP_CONNECTION_TIMEOUT = 834, /**< SDP: Connection attempt timed out at a lower layer */ - OI_SDP_RESPONSE_DATA_ERROR = 835, /**< SDP: Response to a service request appears to be corrupt */ - OI_SDP_TOO_MANY_ATTRIBUTE_BYTES = 836, /**< SDP: Response contained more bytes than requested. */ - OI_SDP_TOO_MANY_SERVICE_RECORDS = 837, /**< SDP: Response contained more service records than requested. */ - OI_SDP_INVALID_CONNECTION_ID = 838, /**< SDP: Invalid connection ID in an SDP request */ - OI_SDP_CANNOT_SET_ATTRIBUTE = 839, /**< SDP: Attempt to set a dynamic attribute value failed */ - OI_SDP_BADLY_FORMED_ATTRIBUTE_VALUE = 840, /**< SDP: An attribute value has the wrong type or structure */ - OI_SDP_NO_ATTRIBUTE_LIST_TO_REMOVE = 841, /**< SDP: Attempt to remove a non-existent attribute list from a service record */ - OI_SDP_ATTRIBUTE_LIST_ALREADY_ADDED = 842, /**< SDP: An attribute list has already been added to the service record */ - OI_SDP_DATA_ELEMENT_TRUNCATED = 843, /**< SDP: Data element truncated (too few bytes) */ - - OI_RFCOMM_WRITE_IN_PROGRESS = 901, /**< RFCOMM: Write in progress */ - OI_RFCOMM_INVALID_BAUDRATE = 903, /**< RFCOMM: Invalid baudrate */ - OI_RFCOMM_INVALID_DATABIT = 904, /**< RFCOMM: Invalid databit */ - OI_RFCOMM_INVALID_STOPBIT = 905, /**< RFCOMM: Invalid stopbit */ - OI_RFCOMM_INVALID_PARITY = 906, /**< RFCOMM: Invalid parity */ - OI_RFCOMM_INVALID_PARITYTYPE = 907, /**< RFCOMM: Invalid paritytype */ - OI_RFCOMM_INVALID_FLOWCONTROL = 908, /**< RFCOMM: Invalid flowcontrol */ - OI_RFCOMM_SESSION_EXISTS = 909, /**< RFCOMM: Session exists */ - OI_RFCOMM_INVALID_CHANNEL = 910, /**< RFCOMM: Invalid channel */ - OI_RFCOMM_DLCI_EXISTS = 911, /**< RFCOMM: DLCI exists */ - OI_RFCOMM_LINK_NOT_FOUND = 912, /**< RFCOMM: Link not found */ - OI_RFCOMM_REMOTE_REJECT = 913, /**< RFCOMM: Remote reject */ - OI_RFCOMM_TEST_IN_PROGRESS = 915, /**< RFCOMM: Test in progress */ - OI_RFCOMM_SESSION_NOT_FOUND = 916, /**< RFCOMM: Session not found */ - OI_RFCOMM_INVALID_PACKET = 917, /**< RFCOMM: Invalid packet */ - OI_RFCOMM_FRAMESIZE_EXCEEDED = 918, /**< RFCOMM: Framesize exceeded */ - OI_RFCOMM_INVALID_DLCI = 920, /**< RFCOMM: Invalid dlci */ - OI_RFCOMM_SERVER_NOT_REGISTERED = 921, /**< RFCOMM: Server not registered */ - OI_RFCOMM_CREDIT_ERROR = 922, /**< RFCOMM: Credit error */ - OI_RFCOMM_NO_CHANNEL_NUMBER = 923, /**< RFCOMM: No channel number */ - OI_RFCOMM_QUERY_IN_PROGRESS = 924, /**< RFCOMM: Query in progress */ - OI_RFCOMM_SESSION_SHUTDOWN = 925, /**< RFCOMM: Session shutdown */ - OI_RFCOMM_LOCAL_DEVICE_DISCONNECTED = 926, /**< RFCOMM: Local device disconnected */ - OI_RFCOMM_REMOTE_DEVICE_DISCONNECTED = 927, /**< RFCOMM: Remote device disconnected */ - OI_RFCOMM_OUT_OF_SERVER_CHANNELS = 928, /**< RFCOMM: Out of server channels */ - - OI_DISPATCH_INVALID_CB_HANDLE = 1001, /**< Dispatcher was handed an invalid callback handle */ - OI_DISPATCH_TABLE_OVERFLOW = 1002, /**< Dispatcher table is full */ - - OI_TEST_UNKNOWN_TEST = 1101, /**< TEST: Unknown test */ - OI_TEST_FAIL = 1102, /**< TEST: Fail */ - - OI_HCITRANS_CANNOT_CONNECT_TO_DEVICE = 1201, /**< TRANSPORT: Cannot connect to device */ - OI_HCITRANS_BUFFER_TOO_SMALL = 1203, /**< TRANSPORT: Buffer too small */ - OI_HCITRANS_NULL_DEVICE_HANDLE = 1204, /**< TRANSPORT: Null device handle */ - OI_HCITRANS_IO_ERROR = 1205, /**< TRANSPORT: IO error */ - OI_HCITRANS_DEVICE_NOT_READY = 1206, /**< TRANSPORT: Device not ready */ - OI_HCITRANS_FUNCTION_NOT_SUPPORTED = 1207, /**< TRANSPORT: Function not supporteD */ - OI_HCITRANS_ACCESS_DENIED = 1209, /**< TRANSPORT: win32 */ - OI_HCITRANS_ACL_DATA_ERROR = 1210, /**< TRANSPORT: ACL data error */ - OI_HCITRANS_SCO_DATA_ERROR = 1211, /**< TRANSPORT: SCO data error */ - OI_HCITRANS_EVENT_DATA_ERROR = 1212, /**< TRANSPORT: HCI event data error */ - OI_HCITRANS_INTERNAL_ERROR = 1214, /**< TRANSPORT: Internal error in the transport */ - OI_HCITRANS_LINK_NOT_ACTIVE = 1215, /**< TRANSPORT: Link to the device is not currently active */ - OI_HCITRANS_INITIALIZING = 1216, /**< TRANSPORT: Transport is initializing */ - - OI_DEVMGR_NO_CONNECTION = 1301, /**< DEVMGR: No connection */ - OI_DEVMGR_HARDWARE_ERROR = 1305, /**< DEVMGR: error reported by HCI */ - OI_DEVMGR_PENDING_CONNECT_LIST_FULL = 1307, /**< DEVMGR: Pending connect list full */ - OI_DEVMGR_CONNECTION_LIST_FULL = 1309, /**< DEVMGR: Connection list full */ - OI_DEVMGR_NO_SUCH_CONNECTION = 1310, /**< DEVMGR: No such connection */ - OI_DEVMGR_INQUIRY_IN_PROGRESS = 1311, /**< DEVMGR: Inquiry in progress */ - OI_DEVMGR_PERIODIC_INQUIRY_ACTIVE = 1312, /**< DEVMGR: Periodic inquiry active */ - OI_DEVMGR_NO_INQUIRIES_ACTIVE = 1313, /**< DEVMGR: can not cancel/exit if not active */ - OI_DEVMGR_DUPLICATE_CONNECTION = 1314, /**< DEVMGR: internal error */ - OI_DEVMGR_DUPLICATE_EVENT_CALLBACK = 1316, /**< DEVMGR: attempt to register same callback twice */ - OI_DEVMGR_EVENT_CALLBACK_LIST_FULL = 1317, /**< DEVMGR: can not register event callback, list is full */ - OI_DEVMGR_EVENT_CALLBACK_NOT_FOUND = 1318, /**< DEVMGR: attempt to unregister callback failed */ - OI_DEVMGR_BUSY = 1319, /**< DEVMGR: some operations can only execute one at a time */ - OI_DEVMGR_ENUM_UNEXPECTED_INQ_COMPLETE = 1320, /**< DEVMGR: inquiry complete event in inappropriate enumeration state */ - OI_DEVMGR_ENUM_UNEXPECTED_INQ_RESULT = 1321, /**< DEVMGR: inquiry result event in inappropriate enumeration state */ - OI_DEVMGR_ENUM_DATABASE_FULL = 1322, /**< DEVMGR: device enumeration, database is full, couldn't add a new device */ - OI_DEVMGR_ENUM_INQUIRIES_OVERLAP = 1323, /**< DEVMGR: device enumeration, periodic inquiries occurring too close together */ - OI_DEVMGR_UNKNOWN_LINK_TYPE = 1324, /**< DEVMGR: HCI connect request with unkown link type */ - OI_DEVMGR_PARAM_IO_ACTIVE = 1325, /**< DEVMGR: request for parameter read/write while param read/write active */ - OI_DEVMGR_UNKNOWN_IAC_LAP = 1326, /**< DEVMGR: unrecognized IAC LAP */ - OI_DEVMGR_SCO_ALREADY_REGISTERED = 1327, /**< DEVMGR: only one application can use SCO */ - OI_DEVMGR_SCO_NOT_REGISTERED = 1328, /**< DEVMGR: SCO applications must register before using the API */ - OI_DEVMGR_SCO_WITHOUT_ACL = 1329, /**< DEVMGR: Got SCO connection but there is no underlying ACL connection */ - OI_DEVMGR_NO_SUPPORT = 1330, /**< DEVMGR: Request is not supported by the device */ - OI_DEVMGR_WRITE_POLICY_FAILED = 1331, /**< DEVMGR: connection attempt failed - unable to write link policy */ - OI_DEVMGR_NOT_IN_MASTER_MODE = 1332, /**< DEVMGR: OI_DEVMGR EndMasterMode without prior OI_DEVMGR_BeginMasterMode */ - OI_DEVMGR_POLICY_VIOLATION = 1333, /**< DEVMGR: low-power request is rejected - link policy does not allow it */ - OI_DEVMGR_BUSY_TIMEOUT = 1334, /**< DEVMGR: queued operation timed out while in the queue; \n - timeout configurable via @ref OI_CONFIG_DEVMGR::connectQueueTimeoutSecs "connectQueueTimeoutSecs" */ - OI_DEVMGR_REENCRYPT_FAILED = 1335, /**< DEVMGR: failed to re-encrypt link after role switch */ - OI_DEVMGR_ROLE_POLICY_CONFLICT = 1336, /**< DEVMGR: requested role conflicts with current policy */ - OI_DEVMGR_BAD_INTERVAL = 1337, /**< DEVMGR: current linkTO outside range of requested min/max interval */ - OI_DEVMGR_INVALID_SCO_HANDLE = 1338, /**< DEVMGR: HCI SCO event, invalid handle */ - OI_DEVMGR_CONNECTION_OVERLAP = 1339, /**< DEVMGR: Connection failed due to race condition with remote side */ - OI_DEVMGR_ORPHAN_SUBRATE_COMPLETE = 1340, /**< DEVMGR: sniff subrate complete, but no callback */ - OI_DEVMGR_EIR_RESPONSE_2_LARGE = 1341, /**< DEVMGR: eir builder, response length would exceed spec max */ - - OI_SECMGR_NO_POLICY = 1401, /**< SECMGR: no security policy has been established */ - OI_SECMGR_INTERNAL_ERROR = 1402, /**< SECMGR: internal inconsistency */ - OI_SECMGR_ORPHANED_CALLBACK = 1403, /**< SECMGR: we've been called back, but CB context is gone */ - OI_SECMGR_BUSY = 1404, /**< SECMGR: configure and access request cannot be concurrent */ - OI_SECMGR_DEVICE_NOT_TRUSTED = 1405, /**< SECMGR: l2cap access denied - device is not trusted */ - OI_SECMGR_DEVICE_ENCRYPT_FAIL = 1407, /**< SECMGR: l2cap access denied - failed to start encryption */ - OI_SECMGR_DISCONNECTED_FAIL = 1408, /**< SECMGR: l2cap access denied - disconnected */ - OI_SECMGR_ACCESS_PENDING = 1409, /**< SECMGR: l2cap access request is still pending */ - OI_SECMGR_PIN_CODE_TOO_SHORT = 1410, /**< SECMGR: Higher-layer process gave us a pin code that is too short */ - OI_SECMGR_UNKNOWN_ENCRYPT_VALUE = 1411, /**< SECMGR: got EncryptionChange event, unknown encryption enable value */ - OI_SECMGR_INVALID_POLICY = 1412, /**< SECMGR: the specified security policy is not valid for security mode */ - OI_SECMGR_AUTHORIZATION_FAILED = 1413, /**< SECMGR: device authorization failed */ - OI_SECMGR_ENCRYPTION_FAILED = 1414, /**< SECMGR: device encryption failed */ - OI_SECMGR_UNIT_KEY_UNSUPPORTED = 1415, /**< SECMGR: authentication failed due to non-support of unit keys */ - OI_SECMGR_NOT_REGISTERED = 1416, /**< SECMGR: required registrations have not yet occurred */ - OI_SECMGR_ILLEGAL_WRITE_SSP_MODE = 1417, /**< SECMGR: 2.1 HCI spec does not allow SSP mode to be disabled */ - OI_SECMGR_INVALID_SEC_LEVEL = 1418, /**< SECMGR: security level for a service is not a valid value */ - OI_SECMGR_INSUFFICIENT_LINK_KEY = 1419, /**< SECMGR: link key type is not sufficient to meet service requirements */ - OI_SECMGR_INVALID_KEY_TYPE = 1420, /**< SECMGR: link key type is not a valid value */ - OI_SECMGR_SSP_NOT_ENCRYPTED = 1421, /**< SECMGR: ssp required encryption on incoming link */ - OI_SECMGR_ORPHAN_EVENT = 1422, /**< SECMGR: some HCI security event unrelated to current processes */ - OI_SECMGR_NOT_BONDABLE = 1423, /**< SECMGR: not in bondable mode */ - - OI_TCS_INVALID_ELEMENT_TYPE = 1602, /**< TCS: element type is invalid */ - OI_TCS_INVALID_PACKET = 1603, /**< TCS: packet is invalide */ - OI_TCS_CALL_IN_PROGRESS = 1604, /**< TCS: call is in progress */ - OI_TCS_NO_CALL_IN_PROGRESS = 1605, /**< TCS: no call in progress */ - - OI_OBEX_CONTINUE = 1701, /**< OBEX: Continue processing OBEX request */ - OI_OBEX_COMMAND_ERROR = 1702, /**< OBEX: An unrecognized OBEX command opcode */ - OI_OBEX_CONNECTION_TIMEOUT = 1703, /**< OBEX: Timeout waiting for a response to a request */ - OI_OBEX_CONNECT_FAILED = 1704, /**< OBEX: An OBEX connection request did not succeed */ - OI_OBEX_DISCONNECT_FAILED = 1705, /**< OBEX: A disconnect failed probably because the connection did not exist */ - OI_OBEX_ERROR = 1706, /**< OBEX: Unspecified OBEX error */ - OI_OBEX_INCOMPLETE_PACKET = 1707, /**< OBEX: Packet too short or corrupt */ - OI_OBEX_LENGTH_REQUIRED = 1708, /**< OBEX: Length header required in OBEX command */ - OI_OBEX_NOT_CONNECTED = 1709, /**< OBEX: No connection to OBEX server */ - OI_OBEX_NO_MORE_CONNECTIONS = 1710, /**< OBEX: Reached max connections limit */ - OI_OBEX_OPERATION_IN_PROGRESS = 1711, /**< OBEX: Another operation is still in progress on a connection */ - OI_OBEX_PUT_RESPONSE_ERROR = 1712, /**< OBEX: An error in the response to a PUT command */ - OI_OBEX_GET_RESPONSE_ERROR = 1713, /**< OBEX: An error in the response to a GET command */ - OI_OBEX_REQUIRED_HEADER_NOT_FOUND = 1714, /**< OBEX: packet was missing a required header */ - OI_OBEX_SERVICE_UNAVAILABLE = 1715, /**< OBEX: Unown OBEX target or required service */ - OI_OBEX_TOO_MANY_HEADER_BYTES = 1716, /**< OBEX: Headers will not fit in single OBEX packet */ - OI_OBEX_UNKNOWN_COMMAND = 1717, /**< OBEX: Unrecognized OBEX command */ - OI_OBEX_UNSUPPORTED_VERSION = 1718, /**< OBEX: Version mismatch */ - OI_OBEX_CLIENT_ABORTED_COMMAND = 1719, /**< OBEX: server received abort command */ - OI_OBEX_BAD_PACKET = 1720, /**< OBEX: Any malformed OBEX packet */ - OI_OBEX_BAD_REQUEST = 1721, /**< OBEX: Maps to OBEX response of the same name */ - OI_OBEX_OBJECT_OVERFLOW = 1723, /**< OBEX: Too many bytes received. */ - OI_OBEX_NOT_FOUND = 1724, /**< OBEX: Maps to obex response of same name */ - OI_OBEX_ACCESS_DENIED = 1735, /**< OBEX: Object could not be read or written. */ - OI_OBEX_VALUE_NOT_ACCEPTABLE = 1736, /**< OBEX: Value in a command was not in the acceptable range. */ - OI_OBEX_PACKET_OVERFLOW = 1737, /**< OBEX: Buffer will not fit in a single OBEX packet. */ - OI_OBEX_NO_SUCH_FOLDER = 1738, /**< OBEX: Error returned by a setpath operation. */ - OI_OBEX_NAME_REQUIRED = 1739, /**< OBEX: Name must be non-null and non-empty. */ - OI_OBEX_PASSWORD_TOO_LONG = 1740, /**< OBEX: Password exceeds implementation imposed length limit. */ - OI_OBEX_PRECONDITION_FAILED = 1741, /**< OBEX: response Precondition Failed */ - OI_OBEX_UNAUTHORIZED = 1742, /**< OBEX: authentication was not successful. */ - OI_OBEX_NOT_IMPLEMENTED = 1743, /**< OBEX: Unimplemented feature. */ - OI_OBEX_INVALID_AUTH_DIGEST = 1744, /**< OBEX: An authentication digest was bad. */ - OI_OBEX_INVALID_OPERATION = 1745, /**< OBEX: Operation not allowed at this time. */ - OI_OBEX_DATABASE_FULL = 1746, /**< OBEX: Sync database full. */ - OI_OBEX_DATABASE_LOCKED = 1747, /**< OBEX: Sync database locked. */ - OI_OBEX_INTERNAL_SERVER_ERROR = 1748, /**< OBEX: response Internal Server Error */ - OI_OBEX_UNSUPPORTED_MEDIA_TYPE = 1749, /**< OBEX: response Unsupported Media Type */ - OI_OBEX_PARTIAL_CONTENT = 1750, /**< OBEX: response Partial Content */ - OI_OBEX_METHOD_NOT_ALLOWED = 1751, /**< OBEX: response Method Not Allowed */ - OI_OBEXSRV_INCOMPLETE_GET = 1752, /**< OBEX: Indicates to a GET handler that the request phase is still in progress */ - OI_OBEX_FOLDER_BROWSING_NOT_ALLOWED = 1753, /**< OBEX: Indicates that an FTP server does not allow folder browsing */ - OI_OBEX_SERVER_FORCED_DISCONNECT = 1754, /**< OBEX: connection was forcibly terminated by the server */ - OI_OBEX_OFS_ERROR = 1755, /**< OBEX: OPP object file system error occurred */ - OI_OBEX_FILEOP_ERROR = 1756, /**< OBEX: FTP/PBAP file operation system error occurred */ - OI_OBEX_USERID_TOO_LONG = 1757, /**< OBEX: User Id exceeds spec limited length limit. */ - - OI_HANDSFREE_EVENT_REPORTING_DISABLED = 1801, /**< HANDSFREE: Event reporting disabled */ - OI_HANDSFREE_NOT_CONNECTED = 1802, /**< HANDSFREE: Not connected */ - OI_HANDSFREE_SERVICE_NOT_STARTED = 1803, /**< HANDSFREE: Cannot connect to handsfree AG if handsfree service not started */ - OI_HANDSFREE_AG_SERVICE_NOT_STARTED = 1804, /**< HANDSFREE: Cannot connect to handsfree device if handsfree AG service not started */ - OI_HANDSFREE_COMMAND_IN_PROGRESS = 1805, /**< HANDSFREE: Cannot accept a command at this time */ - OI_HANDSFREE_AUDIO_ALREADY_CONNECTED = 1806, /**< HANDSFREE: Audio is already connected */ - OI_HANDSFREE_AUDIO_NOT_CONNECTED = 1807, /**< HANDSFREE: Audio is not connected */ - OI_HANDSFREE_FEATURE_NOT_SUPPORTED = 1808, /**< HANDSFREE: Local or remote feature not supported for requested command */ - - OI_HEADSET_SERVICE_NOT_STARTED = 1901, /**< HEADSET: Cannot connect to headset AG if headset service not started */ - OI_HEADSET_AG_SERVICE_NOT_STARTED = 1902, /**< HEADSET: Cannot connect to headset device if headset AG service not started */ - OI_HEADSET_COMMAND_IN_PROGRESS = 1903, /**< HEADSET: Cannot accept a command at this time */ - - OI_BNEP_INVALID_MTU = 2001, /**< BNEP: The remote device cannot support the minimum BNEP MTU */ - OI_BNEP_SETUP_TIMEOUT = 2002, /**< BNEP: The setup request timed out. */ - OI_BNEP_SERVICE_NOT_REGISTERED = 2003, /**< BNEP: The requested service was not found. */ - OI_BNEP_INVALID_HANDLE = 2004, /**< BNEP: The specified connection handle is not valid. */ - OI_BNEP_RESPONSE_TIMEOUT = 2005, /**< BNEP: The timer for receiving a response has expired. */ - OI_BNEP_INVALID_CONNECTION = 2006, /**< BNEP: Invalid connection */ - OI_BNEP_INVALID_FILTER = 2007, /**< BNEP: The supplied filter was invalid. */ - OI_BNEP_CONNECTION_EXISTS = 2008, /**< BNEP: An attempt was made to create a duplicate connection. */ - OI_BNEP_NOT_INITIALIZED = 2009, /**< BNEP: Init has not been called */ - OI_BNEP_CONNECT_BASE = 2010, /**< BNEP: connection response codes */ - OI_BNEP_CONNECT_FAILED_INVALID_DEST_UUID = 2011, /**< BNEP: connect response code Invalid Dest UUID */ - OI_BNEP_CONNECT_FAILED_INVALID_SOURCE_UUID = 2012, /**< BNEP: connect response code Invalid Source UUID */ - OI_BNEP_CONNECT_FAILED_INVALID_UUID_SIZE = 2013, /**< BNEP: connect response code Invalid UUID Size */ - OI_BNEP_CONNECT_FAILED_NOT_ALLOWED = 2014, /**< BNEP: connect response code Not Allowed */ - OI_BNEP_FILTER_NET_BASE = 2020, /**< BNEP: filter response codes */ - OI_BNEP_FILTER_NET_UNSUPPORTED_REQUEST = 2021, /**< BNEP: filter response code Unsupported Request */ - OI_BNEP_FILTER_NET_FAILED_INVALID_PROTOCOL_TYPE = 2022, /**< BNEP: filter response code Invalid Protocol Type */ - OI_BNEP_FILTER_NET_FAILED_MAX_LIMIT_REACHED = 2023, /**< BNEP: filter response code Max Limit Reached */ - OI_BNEP_FILTER_NET_FAILED_SECURITY = 2024, /**< BNEP: filter response code Security */ - OI_BNEP_FILTER_MULTI_BASE = 2030, /**< BNEP: multicast response codes */ - OI_BNEP_FILTER_MULTI_UNSUPPORTED_REQUEST = 2031, /**< BNEP: multicast response code Unsupported Request */ - OI_BNEP_FILTER_MULTI_FAILED_INVALID_ADDRESS = 2032, /**< BNEP: multicast response code Invalid Address */ - OI_BNEP_FILTER_MULTI_FAILED_MAX_LIMIT_REACHED = 2033, /**< BNEP: multicast response code Max Limit Reached */ - OI_BNEP_FILTER_MULTI_FAILED_SECURITY = 2034, /**< BNEP: multicast response code Security */ - OI_BNEP_LOCAL_DEVICE_MUST_BE_MASTER = 2040, /**< BNEP: Device must be master of the piconet for this function */ - OI_BNEP_PACKET_FILTERED_OUT = 2041, /**< BNEP: Packet did not pass current filters */ - - OI_NETIFC_UP_FAILED = 2101, /**< NETIFC: Could not bring up network interface */ - OI_NETIFC_COULD_NOT_CREATE_THREAD = 2102, /**< NETIFC: Network interface could not create a read thread */ - OI_NETIFC_INITIALIZATION_FAILED = 2103, /**< NETIFC: Error in network interface initialization */ - OI_NETIFC_INTERFACE_ALREADY_UP = 2104, /**< NETIFC: Network interface is already up */ - OI_NETIFC_INTERFACE_NOT_UP = 2105, /**< NETIFC: Network interface is not up */ - OI_NETIFC_PACKET_TOO_BIG = 2106, /**< NETIFC: The packet is too big */ - - OI_PAN_ROLE_ALREADY_REGISTERED = 2201, /**< PAN: This PAN role was already registered */ - OI_PAN_ROLE_NOT_ALLOWED = 2202, /**< PAN: The PAN role is not currently allowed */ - OI_PAN_INCOMPATIBLE_ROLES = 2203, /**< PAN: Only certain local and remote role combinations are permitted */ - OI_PAN_INVALID_ROLE = 2204, /**< PAN: Role specified is not one the defined PAN roles */ - OI_PAN_CONNECTION_IN_PROGRESS = 2205, /**< PAN: A PAN connection is currently being established */ - OI_PAN_USER_ALREADY_CONNECTED = 2206, /**< PAN: PAN user role only allows a single connection */ - OI_PAN_DEVICE_CONNECTED = 2207, /**< PAN: A PAN connection already exists to specified device */ - - OI_CODEC_SBC_NO_SYNCWORD = 2301, /**< CODEC: Couldn't find an SBC SYNCWORD */ - OI_CODEC_SBC_NOT_ENOUGH_HEADER_DATA = 2302, /**< CODEC: Not enough data provided to decode an SBC header */ - OI_CODEC_SBC_NOT_ENOUGH_BODY_DATA = 2303, /**< CODEC: Decoded the header, but not enough data to contain the rest of the frame */ - OI_CODEC_SBC_NOT_ENOUGH_AUDIO_DATA = 2304, /**< CODEC: Not enough audio data for this frame */ - OI_CODEC_SBC_CHECKSUM_MISMATCH = 2305, /**< CODEC: The frame header didn't match the checksum */ - OI_CODEC_SBC_PARTIAL_DECODE = 2306, /**< CODEC: Decoding was successful, but frame data still remains. Next call will provide audio without consuming input data. */ - - OI_FIFOQ_QUEUE_NOT_ALIGNED = 2401, /**< FIFOQ: queue must be 32-bit aligned */ - OI_FIFOQ_INVALID_Q = 2402, /**< FIFOQ: queue parameter is not a valid queue */ - OI_FIFOQ_BUF_TOO_LARGE = 2403, /**< FIFOQ: attempt to queue a buffer which is too large */ - OI_FIFOQ_FULL = 2404, /**< FIFOQ: enqueue() failed, queue is full */ - OI_FIFOQ_NOT_ALLOCATED = 2405, /**< FIFOQ: Enqueue QBuf() failed, buffer not allocated */ - OI_FIFOQ_INVALID_DATA_PTR = 2406, /**< FIFOQ: Enqueue QBuf() failed, data pointer does not match */ - - OI_HID_HOST_SERVICE_NOT_STARTED = 2601, /**< HID: Cannot connect to a HID device unless HID host is started */ - OI_HID_DEVICE_SERVICE_NOT_STARTED = 2602, /**< HID: Cannot connect to a HID host unless HID device is started */ - - OI_AT_ERROR = 2701, /**< AT: ERROR response */ - OI_AT_NO_CARRIER = 2702, /**< AT: NO CARRIER response */ - OI_AT_BUSY = 2703, /**< AT: BUSY response */ - OI_AT_NO_ANSWER = 2704, /**< AT: NO ANSWER response */ - OI_AT_DELAYED = 2705, /**< AT: DELAYED response */ - OI_AT_BLACKLISTED = 2706, /**< AT: BLACKLISTED response */ - OI_AT_CME_ERROR = 2707, /**< AT: +CME ERROR response */ - OI_AT_CMS_ERROR = 2708, /**< AT: +CMS ERROR response */ - - OI_BLST_CHARACTER_TIMEOUT = 2801, /**< BLST: Timeout expired while waiting for a character from the client. */ - OI_BLST_ACKNOWLDGE_TIMEOUT = 2802, /**< BLST: Timeout expired while waiting for event acknowledgment from the client */ - OI_BLST_TX_NOT_READY = 2803, /**< BLST: BLST is not ready to send a BHAPI message to the client. */ - OI_BLST_TX_BUSY = 2804, /**< BLST: BLST transmit buffer is in use. */ - - OI_AVDTP_CONNECTION_SEQ_ERROR = 2901, /**< AVDTP: sequencing of signalling/media channel connections broken. */ - OI_AVDTP_OUT_OF_RESOURCES = 2902, /**< AVDTP: Tried to allocate too many endpoints or signalling channels. */ - - OI_PBAP_REPOSITORY_NOT_SET = 3001, /**< PBAP: Phonebook repository must be set for operation to complete. */ - OI_PBAP_PHONEBOOK_NOT_SET = 3002, /**< PBAP: Phonebook be set for operation to complete. */ - - OI_AADP_BAD_ENDPOINT = 3101, /**< AADP: Invalid local endpoint specified */ - OI_AADP_BAD_STATE = 3102, /**< AADP: AADP State is not correct for this operation. */ - - OI_UNICODE_INVALID_SOURCE = 3200, /**< Unicode Conversion: Source string has invalid character encoding. */ - OI_UNICODE_SOURCE_EXHAUSTED = 3201, /**< Unicode Conversion: Incomplete Unicode character at end of source buffer. */ - OI_UNICODE_DESTINATION_EXHAUSTED = 3202, /**< Unicode Conversion: Destination buffer not large enough to hold resulting Unicode string. */ - - OI_AVRCP_TOO_MANY_CONNECTIONS = 3300, /**< AVRCP: Exceeded maximum number of simultaneous AVCTP connections. */ - OI_AVRCP_NOT_IMPLEMENTED = 3301, /**< AVRCP: The target does not implement the command specified by the opcode and operand. */ - OI_AVRCP_REJECTED = 3302, /**< AVRCP: The target cannot respond because of invalid operands in command packet. */ - OI_AVRCP_INVALID_RESPONSE = 3303, /**< AVRCP: The controller received the response with invalid parameters */ - OI_AVRCP_RESPONSE_PACKET_OVERFLOW = 3304, /**< AVRCP: The response message does not fir in one AVRCP packet (512 bytes), has to be fragmented. */ - OI_AVRCP_RESPONSE_INVALID_PDU = 3305, /**< AVRCP: Command rejected: target received a PDU that it did not understand. */ - OI_AVRCP_RESPONSE_INVALID_PARAMETER = 3306, /**< AVRCP: Command rejected: target received a PDU with a parameter ID that it did not understand. */ - OI_AVRCP_RESPONSE_PARAMETER_NOT_FOUND = 3307, /**< AVRCP: Command rejected: specified parameter not found, sent if the parameter ID is understood, but content is wrong or corrupted.*/ - OI_AVRCP_RESPONSE_INTERNAL_ERROR = 3308, /**< AVRCP: Command rejected: target detected other error conditions. */ - OI_MAX_BM3_STATUS_VAL, /* Maximum BM3 status code */ - - /* Status code values reserved for BM3 SDK platform-specific implementations */ - OI_STATUS_RESERVED_FOR_BCOT = 9000, - - /* Status code values reserved for BHAPI products */ - OI_STATUS_RESERVED_FOR_BHAPI = 9200, - - /* Status code values reserved for Soundabout products */ - OI_STATUS_RESERVED_FOR_SOUNDABOUT = 9400, - - /* - * Status code values greater than or equal to this value are reserved for use by applications. - * However, because of differences between compilers, and differences between 16-bit and 32-bit - * platforms custom status codes should be in the 16-bit range, so status codes can range from 0 - * to 65534, inclusive (65535 is reserved) - */ - OI_STATUS_RESERVED_FOR_APPS = 10000, - - OI_STATUS_NONE = 0xffff /**< Special status code to indicate that there is no status. (Only to be used for special cases involving OI_SLOG_ERROR() and OI_SLOG_WARNING().) */ - -} OI_STATUS; - -/* Remeber to update the #define below when new reserved blocks are added to - * the list above. */ -#define OI_NUM_RESERVED_STATUS_BLOCKS 4 /**< Number of status code blocks reserved, including user apps */ - -/** - * Test for success - */ -#define OI_SUCCESS(x) ((x) == OI_OK) - -/*****************************************************************************/ -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif /* _OI_STATUS_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_stddefs.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_stddefs.h deleted file mode 100644 index 8f210200..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_stddefs.h +++ /dev/null @@ -1,252 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef OI_STDDEFS_H -#define OI_STDDEFS_H -/** - * @file - * This file contains BM3 standard type definitions. - * - */ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -#include "oi_cpu_dep.h" - -/** \addtogroup Misc Miscellaneous APIs */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef FALSE -#define FALSE 0 /**< This define statement sets FALSE as a preprocessor alias for 0. */ -#endif - -#ifndef TRUE -#define TRUE (!FALSE) /**< This define statement sets TRUE as a preprocessor alias for !FALSE. */ -#endif - -#ifdef HEW_TOOLCHAIN -#ifdef NULL -#undef NULL /**< Override HEW toolchain NULL definition */ -#endif -#define NULL 0 /**< HEW toolchain does not allow us to compare (void*) type to function pointer */ -#else -#ifndef NULL -#define NULL ((void *)0) /**< This define statement sets NULL as a preprocessor alias for (void*)0 */ -#endif -#endif - -/** - * @name Maximum and minimum values for basic types - * @{ - */ -#define OI_INT8_MIN ((OI_INT8)0x80) /**< decimal value: -128 */ -#define OI_INT8_MAX ((OI_INT8)0x7F) /**< decimal value: 127 */ -#define OI_INT16_MIN ((OI_INT16)0x8000) /**< decimal value: -32768 */ -#define OI_INT16_MAX ((OI_INT16)0x7FFF) /**< decimal value: 32767 */ -#define OI_INT32_MIN ((OI_INT32)0x80000000) /**< decimal value: -2,147,483,648 */ -#define OI_INT32_MAX ((OI_INT32)0x7FFFFFFF) /**< decimal value: 2,147,483,647 */ -#define OI_UINT8_MIN ((OI_UINT8)0) /**< decimal value: 0 */ -#define OI_UINT8_MAX ((OI_UINT8)0xFF) /**< decimal value: 255 */ -#define OI_UINT16_MIN ((OI_UINT16)0) /**< decimal value: 0 */ -#define OI_UINT16_MAX ((OI_UINT16)0xFFFF) /**< decimal value: 65535 */ -#define OI_UINT32_MIN ((OI_UINT32)0) /**< decimal value: 0 */ -#define OI_UINT32_MAX ((OI_UINT32)0xFFFFFFFF) /**< decimal value: 4,294,967,295 */ - -/** - * @} - */ - -/** - * @name Integer types required by the Service Discovery Protocol - * @{ - */ - -/** unsigned 64-bit integer as a structure of two unsigned 32-bit integers */ -typedef struct { - OI_UINT32 I1; /**< most significant 32 bits */ - OI_UINT32 I2; /**< least significant 32 bits */ -} OI_UINT64; - -#define OI_UINT64_MIN \ - { \ - (OI_UINT32)0x00000000, (OI_UINT32)0x00000000 \ - } -#define OI_UINT64_MAX \ - { \ - (OI_UINT32)0XFFFFFFFF, (OI_UINT32)0XFFFFFFFF \ - } - -/** signed 64-bit integer as a structure of one unsigned 32-bit integer and one signed 32-bit integer */ -typedef struct { - OI_INT32 I1; /**< most significant 32 bits as a signed integer */ - OI_UINT32 I2; /**< least significant 32 bits as an unsigned integer */ -} OI_INT64; - -#define OI_INT64_MIN \ - { \ - (OI_INT32)0x80000000, (OI_UINT32)0x00000000 \ - } -#define OI_INT64_MAX \ - { \ - (OI_INT32)0X7FFFFFFF, (OI_UINT32)0XFFFFFFFF \ - } - -/** unsigned 128-bit integer as a structure of four unsigned 32-bit integers */ -typedef struct { - OI_UINT32 I1; /**< most significant 32 bits */ - OI_UINT32 I2; /**< second-most significant 32 bits */ - OI_UINT32 I3; /**< third-most significant 32 bits */ - OI_UINT32 I4; /**< least significant 32 bits */ -} OI_UINT128; - -#define OI_UINT128_MIN \ - { \ - (OI_UINT32)0x00000000, (OI_UINT32)0x00000000, (OI_UINT32)0x00000000, (OI_UINT32)0x00000000 \ - } -#define OI_UINT128_MAX \ - { \ - (OI_UINT32)0XFFFFFFFF, (OI_UINT32)0XFFFFFFFF, (OI_UINT32)0XFFFFFFFF, (OI_UINT32)0XFFFFFFFF \ - } - -/** signed 128-bit integer as a structure of three unsigned 32-bit integers and one signed 32-bit integer */ -typedef struct { - OI_INT32 I1; /**< most significant 32 bits as a signed integer */ - OI_UINT32 I2; /**< second-most significant 32 bits as an unsigned integer */ - OI_UINT32 I3; /**< third-most significant 32 bits as an unsigned integer */ - OI_UINT32 I4; /**< least significant 32 bits as an unsigned integer */ -} OI_INT128; - -#define OI_INT128_MIN \ - { \ - (OI_UINT32)0x80000000, (OI_UINT32)0x00000000, (OI_UINT32)0x00000000, (OI_UINT32)0x00000000 \ - } -#define OI_INT128_MAX \ - { \ - (OI_UINT32)0X7FFFFFFF, (OI_UINT32)0XFFFFFFFF, (OI_UINT32)0XFFFFFFFF, (OI_UINT32)0XFFFFFFFF \ - } - -/** - * @} - */ - -/** - * type for ASCII character data items - */ -typedef char OI_CHAR; - -/** - * type for double-byte character data items - */ -typedef OI_UINT16 OI_CHAR16; - -/** - * types for UTF encoded strings. - */ -typedef OI_UINT8 OI_UTF8; -typedef OI_UINT16 OI_UTF16; -typedef OI_UINT32 OI_UTF32; - -/** - * @name Single-bit operation macros - * @{ - * In these macros, x is the data item for which a bit is to be tested or set and y specifies which bit - * is to be tested or set. - */ - -/** This macro's value is TRUE if the bit specified by y is set in data item x. */ -#define OI_BIT_TEST(x, y) ((x) & (y)) - -/** This macro's value is TRUE if the bit specified by y is not set in data item x. */ -#define OI_BIT_CLEAR_TEST(x, y) (((x) & (y)) == 0) - -/** This macro sets the bit specified by y in data item x. */ -#define OI_BIT_SET(x, y) ((x) |= (y)) - -/** This macro clears the bit specified by y in data item x. */ -#define OI_BIT_CLEAR(x, y) ((x) &= ~(y)) - -/** @} */ - -/** - * The OI_ARRAYSIZE macro is set to the number of elements in an array - * (instead of the number of bytes, which is returned by sizeof()). - */ - -#ifndef OI_ARRAYSIZE -#define OI_ARRAYSIZE(a) (sizeof(a) / sizeof(a[0])) -#endif - -/** - * @name Preprocessor aliases for individual bit positions - * Bits are defined here only if they are not already defined. - * @{ - */ - -#ifndef BIT0 - -#define BIT0 0x00000001 /**< preprocessor alias for 32-bit value with bit 0 set, used to specify this single bit */ -#define BIT1 0x00000002 /**< preprocessor alias for 32-bit value with bit 1 set, used to specify this single bit */ -#define BIT2 0x00000004 /**< preprocessor alias for 32-bit value with bit 2 set, used to specify this single bit */ -#define BIT3 0x00000008 /**< preprocessor alias for 32-bit value with bit 3 set, used to specify this single bit */ -#define BIT4 0x00000010 /**< preprocessor alias for 32-bit value with bit 4 set, used to specify this single bit */ -#define BIT5 0x00000020 /**< preprocessor alias for 32-bit value with bit 5 set, used to specify this single bit */ -#define BIT6 0x00000040 /**< preprocessor alias for 32-bit value with bit 6 set, used to specify this single bit */ -#define BIT7 0x00000080 /**< preprocessor alias for 32-bit value with bit 7 set, used to specify this single bit */ -#define BIT8 0x00000100 /**< preprocessor alias for 32-bit value with bit 8 set, used to specify this single bit */ -#define BIT9 0x00000200 /**< preprocessor alias for 32-bit value with bit 9 set, used to specify this single bit */ -#define BIT10 0x00000400 /**< preprocessor alias for 32-bit value with bit 10 set, used to specify this single bit */ -#define BIT11 0x00000800 /**< preprocessor alias for 32-bit value with bit 11 set, used to specify this single bit */ -#define BIT12 0x00001000 /**< preprocessor alias for 32-bit value with bit 12 set, used to specify this single bit */ -#define BIT13 0x00002000 /**< preprocessor alias for 32-bit value with bit 13 set, used to specify this single bit */ -#define BIT14 0x00004000 /**< preprocessor alias for 32-bit value with bit 14 set, used to specify this single bit */ -#define BIT15 0x00008000 /**< preprocessor alias for 32-bit value with bit 15 set, used to specify this single bit */ -#define BIT16 0x00010000 /**< preprocessor alias for 32-bit value with bit 16 set, used to specify this single bit */ -#define BIT17 0x00020000 /**< preprocessor alias for 32-bit value with bit 17 set, used to specify this single bit */ -#define BIT18 0x00040000 /**< preprocessor alias for 32-bit value with bit 18 set, used to specify this single bit */ -#define BIT19 0x00080000 /**< preprocessor alias for 32-bit value with bit 19 set, used to specify this single bit */ -#define BIT20 0x00100000 /**< preprocessor alias for 32-bit value with bit 20 set, used to specify this single bit */ -#define BIT21 0x00200000 /**< preprocessor alias for 32-bit value with bit 21 set, used to specify this single bit */ -#define BIT22 0x00400000 /**< preprocessor alias for 32-bit value with bit 22 set, used to specify this single bit */ -#define BIT23 0x00800000 /**< preprocessor alias for 32-bit value with bit 23 set, used to specify this single bit */ -#define BIT24 0x01000000 /**< preprocessor alias for 32-bit value with bit 24 set, used to specify this single bit */ -#define BIT25 0x02000000 /**< preprocessor alias for 32-bit value with bit 25 set, used to specify this single bit */ -#define BIT26 0x04000000 /**< preprocessor alias for 32-bit value with bit 26 set, used to specify this single bit */ -#define BIT27 0x08000000 /**< preprocessor alias for 32-bit value with bit 27 set, used to specify this single bit */ -#define BIT28 0x10000000 /**< preprocessor alias for 32-bit value with bit 28 set, used to specify this single bit */ -#define BIT29 0x20000000 /**< preprocessor alias for 32-bit value with bit 29 set, used to specify this single bit */ -#define BIT30 0x40000000 /**< preprocessor alias for 32-bit value with bit 30 set, used to specify this single bit */ -#define BIT31 0x80000000 /**< preprocessor alias for 32-bit value with bit 31 set, used to specify this single bit */ - -#endif /* BIT0 et al */ - -/** @} */ - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -/*****************************************************************************/ -#endif /* OI_STDDEFS_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_string.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_string.h deleted file mode 100644 index 68e6aad2..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_string.h +++ /dev/null @@ -1,200 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef OI_STRING_H -#define OI_STRING_H -/** - * @file - * This file contains BM3 supplied portable string.h functions - * - */ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -#include "oi_cpu_dep.h" -#include "oi_stddefs.h" - -#if defined(USE_NATIVE_MEMCPY) || defined(USE_NATIVE_MALLOC) -#include -#endif - -/** \addtogroup Misc Miscellaneous APIs */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * If we are using Native malloc(), we must also use - * native Ansi string.h functions for memory manipulation. - */ -#ifdef USE_NATIVE_MALLOC -#ifndef USE_NATIVE_MEMCPY -#define USE_NATIVE_MEMCPY -#endif -#endif - -#ifdef USE_NATIVE_MEMCPY - -#define OI_MemCopy(to, from, size) memcpy((to), (from), (size)) -#define OI_MemSet(block, val, size) memset((block), (val), (size)) -#define OI_MemZero(block, size) memset((block), 0, (size)) -#define OI_MemCmp(s1, s2, n) memcmp((s1), (s2), (n)) -#define OI_Strcpy(dest, src) strcpy((dest), (src)) -#define OI_Strcat(dest, src) strcat((dest), (src)) -#define OI_StrLen(str) strlen((str)) -#define OI_Strcmp(s1, s2) strcmp((s1), (s2)) -#define OI_Strncmp(s1, s2, n) strncmp((s1), (s2), (n)) - -#else - -/* - * OI_MemCopy - * - * Copy an arbitrary number of bytes from one memory address to another. - * The underlying implementation is the ANSI memmove() or equivalant, so - * overlapping memory copies will work correctly. - */ -void OI_MemCopy(void *To, void const *From, OI_UINT32 Size); - -/* - * OI_MemSet - * - * Sets all bytes in a block of memory to the same value - */ -void OI_MemSet(void *Block, OI_UINT8 Val, OI_UINT32 Size); - -/* - * OI_MemZero - * - * Sets all bytes in a block of memory to zero - */ -void OI_MemZero(void *Block, OI_UINT32 Size); - -/* - * OI_MemCmp - * - * Compare two blocks of memory - * - * Returns: - * 0, if s1 == s2 - * < 0, if s1 < s2 - * > 0, if s2 > s2 - */ -OI_INT OI_MemCmp(void const *s1, void const *s2, OI_UINT32 n); - -/* - * OI_Strcpy - * - * Copies the Null terminated string from pStr to pDest, and - * returns pDest. - */ - -OI_CHAR *OI_Strcpy(OI_CHAR *pDest, - OI_CHAR const *pStr); - -/* - * OI_Strcat - * - * Concatonates the pStr string to the end of pDest, and - * returns pDest. - */ - -OI_CHAR *OI_Strcat(OI_CHAR *pDest, - OI_CHAR const *pStr); - -/* - * OI_StrLen - * - * Calculates the number of OI_CHARs in pStr (not including - * the Null terminator) and returns the value. - */ -OI_UINT OI_StrLen(OI_CHAR const *pStr); - -/* - * OI_Strcmp - * - * Compares two Null terminated strings - * - * Returns: - * 0, if s1 == s2 - * < 0, if s1 < s2 - * > 0, if s2 > s2 - */ -OI_INT OI_Strcmp(OI_CHAR const *s1, - OI_CHAR const *s2); - -/* - * OI_Strncmp - * - * Compares the first "len" OI_CHARs of strings s1 and s2. - * - * Returns: - * 0, if s1 == s2 - * < 0, if s1 < s2 - * > 0, if s2 > s2 - */ -OI_INT OI_Strncmp(OI_CHAR const *s1, - OI_CHAR const *s2, - OI_UINT32 len); - -#endif /* USE_NATIVE_MEMCPY */ - -/* - * OI_StrcmpInsensitive - * - * Compares two Null terminated strings, treating - * the Upper and Lower case of 'A' through 'Z' as - * equivilent. - * - * Returns: - * 0, if s1 == s2 - * < 0, if s1 < s2 - * > 0, if s2 > s2 - */ -OI_INT OI_StrcmpInsensitive(OI_CHAR const *s1, - OI_CHAR const *s2); - -/* - * OI_StrncmpInsensitive - * - * Compares the first "len" OI_CHARs of strings s1 and s2, - * treating the Upper and Lower case of 'A' through 'Z' as - * equivilent. - * - * - * Returns: - * 0, if s1 == s2 - * < 0, if s1 < s2 - * > 0, if s2 > s2 - */ -OI_INT OI_StrncmpInsensitive(OI_CHAR const *s1, - OI_CHAR const *s2, - OI_UINT len); - -#ifdef __cplusplus -} -#endif - -/** @} */ - -/*****************************************************************************/ -#endif /* OI_STRING_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_time.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_time.h deleted file mode 100644 index b1ef5261..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_time.h +++ /dev/null @@ -1,188 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_TIME_H -#define _OI_TIME_H -/** @file - * - * This file provides time type definitions and interfaces to time-related functions. - * - * The stack maintains a 64-bit real-time millisecond clock. The choice of - * milliseconds is for convenience, not accuracy. - * - * Timeouts are specified as tenths of seconds in a 32-bit value. Timeout values - * specified by the Bluetooth specification are usually muliple seconds, so - * accuracy to a tenth of a second is more than adequate. - * - * This file also contains macros to convert between seconds and the Link - * Manager's 1.28-second units. - * - */ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -#include "oi_stddefs.h" - -/** \addtogroup Misc Miscellaneous APIs */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Within the core stack timeouts are specified in intervals of tenths of seconds - */ - -typedef OI_UINT16 OI_INTERVAL; -#define OI_INTERVALS_PER_SECOND 10 -#define MSECS_PER_OI_INTERVAL (1000 / OI_INTERVALS_PER_SECOND) - -/** maximum interval (54 min 36.7 sec) */ -#define OI_MAX_INTERVAL 0x7fff - -/** - * Macro to convert seconds to OI_INTERVAL time units - */ - -#define OI_SECONDS(n) ((OI_INTERVAL)((n)*OI_INTERVALS_PER_SECOND)) - -/** - * Macro to convert milliseconds to OI_INTERVAL time units (Rounded Up) - */ - -#define OI_MSECONDS(n) ((OI_INTERVAL)((n + MSECS_PER_OI_INTERVAL - 1) / MSECS_PER_OI_INTERVAL)) - -/** - * Macro to convert minutes to OI_INTERVAL time units - */ - -#define OI_MINUTES(n) ((OI_INTERVAL)((n)*OI_SECONDS(60))) - -/** Convert an OI_INTERVAL to milliseconds. */ -#define OI_INTERVAL_TO_MILLISECONDS(i) ((i)*MSECS_PER_OI_INTERVAL) - -/** - * The stack depends on relative not absolute time. Any mapping between the - * stack's real-time clock and absolute time and date is implementation-dependent. - */ - -typedef struct { - OI_INT32 seconds; - OI_INT16 mseconds; -} OI_TIME; - -/** - * Convert an OI_TIME to milliseconds. - * - * @param t the time to convert - * - * @return the time in milliseconds - */ -OI_UINT32 OI_Time_ToMS(OI_TIME *t); - -/** - * This function compares two time values. - * - * @param T1 first time to compare. - * - * @param T2 second time to compare. - * - * @return - @verbatim - -1 if t1 < t2 - 0 if t1 = t2 - +1 if t1 > t2 - @endverbatim - */ - -OI_INT16 OI_Time_Compare(OI_TIME *T1, - OI_TIME *T2); - -/** - * This function returns the interval between two times to a granularity of 0.1 seconds. - * - * @param Sooner a time value more recent that Later - * - * @param Later a time value later than Sooner - * - * @note The result is an OI_INTERVAL value so this function only works for time intervals - * that are less than about 71 minutes. - * - * @return the time interval between the two times = (Later - Sooner) - */ - -OI_INTERVAL OI_Time_Interval(OI_TIME *Sooner, - OI_TIME *Later); - -/** - * This function returns the interval between two times to a granularity of milliseconds. - * - * @param Sooner a time value more recent that Later - * - * @param Later a time value later than Sooner - * - * @note The result is an OI_UINT32 value so this function only works for time intervals - * that are less than about 50 days. - * - * @return the time interval between the two times = (Later - Sooner) - */ - -OI_UINT32 OI_Time_IntervalMsecs(OI_TIME *Sooner, - OI_TIME *Later); - -/** - * This function answers the question, Have we reached or gone past the target time? - * - * @param pTargetTime target time - * - * @return TRUE means time now is at or past target time - * FALSE means target time is still some time in the future - */ - -OI_BOOL OI_Time_NowReachedTime(OI_TIME *pTargetTime); - -/** - * Convert seconds to the Link Manager 1.28-second units - * Approximate by using 1.25 conversion factor. - */ - -#define OI_SECONDS_TO_LM_TIME_UNITS(lmUnits) ((lmUnits) < 4 ? (lmUnits) : (lmUnits) - ((lmUnits) >> 2)) - -/** - * Convert Link Manager 1.28-second units to seconds. - * Approximate by using 1.25 conversion factor. - */ - -#define OI_LM_TIME_UNITS_TO_SECONDS(lmUnits) ((lmUnits) + ((lmUnits) >> 2)) - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -/* Include for OI_Time_Now() prototype - * Must be included at end to obtain OI_TIME typedef - */ -#include "oi_osinterface.h" - -/*****************************************************************************/ -#endif /* _OI_TIME_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_utils.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_utils.h deleted file mode 100644 index 764b2680..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/oi_utils.h +++ /dev/null @@ -1,362 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ -#ifndef _OI_UTILS_H -#define _OI_UTILS_H -/** - * @file - * - * This file provides the interface for utility functions. - * Among the utilities are strlen (string length), strcmp (string compare), and - * other string manipulation functions. These are provided for those plaforms - * where this functionality is not available in stdlib. - */ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -#include -#include "oi_common.h" -#include "oi_string.h" -#include "oi_bt_spec.h" - -/** \addtogroup Misc Miscellaneous APIs */ -/**@{*/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Opaque type for a callback function handle. See OI_ScheduleCallbackFunction() - */ -typedef OI_UINT32 OI_CALLBACK_HANDLE; - -/** - * Function prototype for a timed procedure callback. - * - * @param arg Value that was passed into the OI_ScheduleCallback() function - * - */ -typedef void (*OI_SCHEDULED_CALLBACK)(void *arg); - -/** - * Registers a function to be called when a timeout expires. This API uses BLUEmagic's internal - * function dispatch mechanism, so applications that make extensive use of this facility may need to - * increase the value of DispatchTableSize in the configuration block for the dispatcher (see - * oi_bt_stack_config.h). - * - * @param callbackFunction The function that will be called when the timeout expires - * - * @param arg Value that will be returned as the parameter to the callback function. - * - * @param timeout A timeout expressed in OI_INTERVALs (tenths of seconds). This can be - * zero in which case the callback function will be called as soon as - * possible. - * - * @param handle NULL or a pointer receive the callback handle. - * - * @return OI_OK if the function was reqistered, or an error status. - */ -OI_STATUS OI_ScheduleCallbackFunction(OI_SCHEDULED_CALLBACK callbackFunction, - void *arg, - OI_INTERVAL timeout, - OI_CALLBACK_HANDLE *handle); - -/** - * Cancels a function registered with OI_ScheduleCallbackFunction() before its timer expires. - * - * @param handle handle returned by OI_ScheduleCallbackFunction(). - * - * @return OI_OK if the function was cancelled, or an error status. - */ -OI_STATUS OI_CancelCallbackFunction(OI_CALLBACK_HANDLE handle); - -/** - * Registers a function to be called when a timeout expires. This version does not return a handle - * so can only be canceled by calling OI_CancelCallback(). - * - * @param callbackFunction The function that will be called when the timeout expires - * - * @param arg Value that will be returned as the parameter to the callback function. - * - * @param timeout A timeout expressed in OI_INTERVALs (tenths of seconds). This can be - * zero in which case the callback function will be called as soon as - * possible. - * - * @return OI_OK if the function was reqistered, or an error status. - */ -#define OI_ScheduleCallback(f, a, t) OI_ScheduleCallbackFunction(f, a, t, NULL); - -/** - * Cancels a function registered with OI_ScheduleCallback() before its timer expires. This - * function will cancel the first entry matches the indicated callback function pointer. - * - * @param callbackFunction The function that was originally registered - * - * @return OI_OK if the function was cancelled, or an error status. - */ -OI_STATUS OI_CancelCallback(OI_SCHEDULED_CALLBACK callbackFunction); - -/** - * Parse a Bluetooth device address from the specified string. - * - * @param str the string to parse - * @param addr the parsed address, if successful - * - * @return TRUE if an address was successfully parsed, FALSE otherwise - */ - -OI_BOOL OI_ParseBdAddr(const OI_CHAR *str, - OI_BD_ADDR *addr); - -/** - * Printf function for platforms which have no stdio or printf available. - * OI_Printf supports the basic formatting types, with the exception of - * floating point types. Additionally, OI_Printf supports several formats - * specific to BLUEmagic 3.0 software: - * - * \%! prints the string for an #OI_STATUS value. - * @code OI_Printf("There was an error %!", status); @endcode - * - * \%@ prints a hex dump of a buffer. - * Requires a pointer to the buffer and a signed integer length - * (0 for default length). If the buffer is large, only an excerpt will - * be printed. - * @code OI_Printf("Contents of buffer %@", buffer, sizeof(buffer)); @endcode - * - * \%: prints a Bluetooth address in the form "HH:HH:HH:HH:HH:HH". - * Requires a pointer to an #OI_BD_ADDR. - * @code OI_Printf("Bluetooth address %:", &bdaddr); @endcode - * - * \%^ decodes and prints a data element as formatted XML. - * Requires a pointer to an #OI_DATAELEM. - * @code OI_Printf("Service attribute list is:\n%^", &attributes); @endcode - * - * \%/ prints the base file name of a path, that is, the final substring - * following a '/' or '\\' character. Requires a pointer to a null - * terminated string. - * @code OI_Printf("File %/", "c:\\dir1\\dir2\\file.txt"); @endcode - * - * \%~ prints a string, escaping characters as needed to display it in - * ASCII. Requires a pointer to an #OI_PSTR and an #OI_UNICODE_ENCODING - * parameter. - * @code OI_Printf("Identifier %~", &id, OI_UNICODE_UTF16_BE); @endcode - * - * \%[ inserts an ANSI color escape sequence. Requires a single character - * identifying the color to select. Colors are red (r/R), green (g/G), - * blue (b/B), yellow (y/Y), cyan (c/C), magenta (m/M), white (W), - * light-gray (l/L), dark-gray (d/D), and black (0). The lower case is - * dim, the upper case is bright (except in the case of light-gray and - * dark-gray, where bright and dim are identical). Any other value will - * select the default color. - * @code OI_Printf("%[red text %[black %[normal\n", 'r', '0', 0); @endcode - * - * \%a same as \%s, except '\\r' and '\\n' are output as "" and "". - * \%?a is valid, but \%la is not. - * - * \%b prints an integer in base 2. - * @code OI_Printf("Bits are %b", I); @endcode - * - * \%lb prints a long integer in base 2. - * - * \%?b prints the least significant N bits of an integer (or long integer) - * in base 2. Requires the integer and a length N. - * @code OI_Printf("Bottom 4 bits are: %?b", I, 4); @endcode - * - * \%B prints an integer as boolean text, "TRUE" or "FALSE". - * @code OI_Printf("The value 0 is %B, the value 1 is %B", 0, 1); @endcode - * - * \%?s prints a substring up to a specified maximum length. - * Requires a pointer to a string and a length parameter. - * @code OI_Printf("String prefix is %?s", str, 3); @endcode - * - * \%ls same as \%S. - * - * \%S prints a UTF16 string as UTF8 (plain ASCII, plus 8-bit char sequences - * where needed). Requires a pointer to #OI_CHAR16. \%?S is valid. The - * length parameter is in OI_CHAR16 characters. - * - * \%T prints time, formatted as "secs.msecs". - * Requires pointer to #OI_TIME struct, NULL pointer prints current time. - * @code OI_Printf("The time now is %T", NULL); @endcode - * - * @param format The format string - * - */ -void OI_Printf(const OI_CHAR *format, ...); - -/** - * Var-args version OI_Printf - * - * @param format Same as for OI_Printf. - * - * @param argp Var-args list. - */ -void OI_VPrintf(const OI_CHAR *format, va_list argp); - -/** - * Writes a formatted string to a buffer. This function supports the same format specifiers as - * OI_Printf(). - * - * @param buffer Destination buffer for the formatted string. - * - * @param bufLen The length of the destination buffer. - * - * @param format The format string - * - * @return Number of characters written or -1 in the case of an error. - */ -OI_INT32 OI_SNPrintf(OI_CHAR *buffer, - OI_UINT16 bufLen, - const OI_CHAR *format, ...); - -/** - * Var-args version OI_SNPrintf - * - * @param buffer Destination buffer for the formatted string. - * - * @param bufLen The length of the destination buffer. - * - * @param format The format string - * - * @param argp Var-args list. - * - * @return Number of characters written or -1 in the case of an error. - */ -OI_INT32 OI_VSNPrintf(OI_CHAR *buffer, - OI_UINT16 bufLen, - const OI_CHAR *format, va_list argp); - -/** - * Convert a string to an integer. - * - * @param str the string to parse - * - * @return the integer value of the string or 0 if the string could not be parsed - */ -OI_INT OI_atoi(const OI_CHAR *str); - -/** - * Parse a signed integer in a string. - * - * Skips leading whitespace (space and tabs only) and parses a decimal or hex string. Hex string - * must be prefixed by "0x". Returns pointer to first character following the integer. Returns the - * pointer passed in if the string does not describe an integer. - * - * @param str String to parse. - * - * @param val Pointer to receive the parsed integer value. - * - * @return A pointer to the first character following the integer or the pointer passed in. - */ -const OI_CHAR *OI_ScanInt(const OI_CHAR *str, - OI_INT32 *val); - -/** - * Parse an unsigned integer in a string. - * - * Skips leading whitespace (space and tabs only) and parses a decimal or hex string. Hex string - * must be prefixed by "0x". Returns pointer to first character following the integer. Returns the - * pointer passed in if the string does not describe an integer. - * - * @param str String to parse. - * - * @param val Pointer to receive the parsed unsigned integer value. - * - * @return A pointer to the first character following the unsigned integer or the pointer passed in. - */ -const OI_CHAR *OI_ScanUInt(const OI_CHAR *str, - OI_UINT32 *val); - -/** - * Parse a whitespace delimited substring out of a string. - * - * @param str Input string to parse. - * @param outStr Buffer to return the substring - * @param len Length of outStr - * - * - * @return A pointer to the first character following the substring or the pointer passed in. - */ -const OI_CHAR *OI_ScanStr(const OI_CHAR *str, - OI_CHAR *outStr, - OI_UINT16 len); - -/** - * Parse a string for one of a set of alternative value. Skips leading whitespace (space and tabs - * only) and parses text matching one of the alternative strings. Returns pointer to first character - * following the matched text. - * - * @param str String to parse. - * - * @param alts Alternative matching strings separated by '|' - * - * @param index Pointer to receive the index of the matching alternative, return value is -1 if - * there is no match. - * - * @return A pointer to the first character following the matched value or the pointer passed in - * if there was no matching text. - */ -const OI_CHAR *OI_ScanAlt(const OI_CHAR *str, - const OI_CHAR *alts, - OI_INT *index); - -/** - * Parse a string for a BD Addr. Skips leading whitespace (space and tabs only) and parses a - * Bluetooth device address with nibbles optionally separated by colons. Return pointet to first - * character following the BD Addr. - * - * @param str String to parse. - * - * @param addr Pointer to receive the Bluetooth device address - * - * @return A pointer to the first character following the BD Addr or the pointer passed in. - */ -const OI_CHAR *OI_ScanBdAddr(const OI_CHAR *str, - OI_BD_ADDR *addr); - -/** Get a character from a digit integer value (0 - 9). */ -#define OI_DigitToChar(d) ((d) + '0') - -/** - * Determine Maximum and Minimum between two arguments. - * - * @param a 1st value - * @param b 2nd value - * - * @return the max or min value between a & b - */ -#define OI_MAX(a, b) (((a) < (b)) ? (b) : (a)) -#define OI_MIN(a, b) (((a) > (b)) ? (b) : (a)) - -/** - * Compare two BD_ADDRs - * SAME_BD_ADDR - Boolean: TRUE if they are the same address - */ - -#define SAME_BD_ADDR(x, y) (0 == OI_MemCmp((x), (y), OI_BD_ADDR_BYTE_SIZE)) - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif /* _OI_UTILS_H */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/readsamplesjoint.inc b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/readsamplesjoint.inc deleted file mode 100644 index 875a3949..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/readsamplesjoint.inc +++ /dev/null @@ -1,111 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/******************************************************************************* - * @file readsamplesjoint.inc - * - * This is the body of the generic version of OI_SBC_ReadSamplesJoint(). - * It is designed to be \#included into a function as follows: - \code - void OI_SBC_ReadSamplesJoint4(OI_CODEC_SBC_COMMON_CONTEXT *common, OI_BITSTREAM *global_bs) - { - #define NROF_SUBBANDS 4 - #include "readsamplesjoint.inc" - #undef NROF_SUBBANDS - } - - void OI_SBC_ReadSamplesJoint8(OI_CODEC_SBC_COMMON_CONTEXT *common, OI_BITSTREAM *global_bs) - { - #define NROF_SUBBANDS 8 - #include "readsamplesjoint.inc" - #undef NROF_SUBBANDS - } - \endcode - * Or to make a generic version: - \code - void OI_SBC_ReadSamplesJoint(OI_CODEC_SBC_COMMON_CONTEXT *common, OI_BITSTREAM *global_bs) - { - OI_UINT nrof_subbands = common->frameInfo.nrof_subbands; - - #define NROF_SUBBANDS nrof_subbands - #include "readsamplesjoint.inc" - #undef NROF_SUBBANDS - } - \endcode - * @ingroup codec_internal - *******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -{ - OI_CODEC_SBC_COMMON_CONTEXT *common = &context->common; - OI_UINT bl = common->frameInfo.nrof_blocks; - OI_INT32 * RESTRICT s = common->subdata; - OI_UINT8 *ptr = global_bs->ptr.w; - OI_UINT32 value = global_bs->value; - OI_UINT bitPtr = global_bs->bitPtr; - OI_UINT8 jmask = common->frameInfo.join << (8 - NROF_SUBBANDS); - - do { - OI_INT8 *sf_array = &common->scale_factor[0]; - OI_UINT8 *bits_array = &common->bits.uint8[0]; - OI_UINT8 joint = jmask; - OI_UINT sb; - /* - * Left channel - */ - sb = NROF_SUBBANDS; - do { - OI_UINT32 raw; - OI_INT32 dequant; - OI_UINT8 bits = *bits_array++; - OI_INT sf = *sf_array++; - - OI_BITSTREAM_READUINT(raw, bits, ptr, value, bitPtr); - dequant = OI_SBC_Dequant(raw, sf, bits); - *s++ = dequant; - } while (--sb); - /* - * Right channel - */ - sb = NROF_SUBBANDS; - do { - OI_UINT32 raw; - OI_INT32 dequant; - OI_UINT8 bits = *bits_array++; - OI_INT sf = *sf_array++; - - OI_BITSTREAM_READUINT(raw, bits, ptr, value, bitPtr); - dequant = OI_SBC_Dequant(raw, sf, bits); - /* - * Check if we need to do mid/side - */ - if (joint & 0x80) { - OI_INT32 mid = *(s - NROF_SUBBANDS); - OI_INT32 side = dequant; - *(s - NROF_SUBBANDS) = mid + side; - dequant = mid - side; - } - joint <<= 1; - *s++ = dequant; - } while (--sb); - } while (--bl); -} diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-8-generated.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-8-generated.c deleted file mode 100644 index 1434d9d1..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-8-generated.c +++ /dev/null @@ -1,160 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/** - @file - - DO NOT EDIT THIS FILE DIRECTLY - - This file is automatically generated by the "synthesis-gen.pl" script. - Any changes to this generated file will be lost when the script is re-run. - - These functions are called by functions in synthesis.c to perform the synthesis - filterbank computations for the SBC decoder. - - - */ -#include - -#if defined(SBC_DEC_INCLUDED) - -#ifndef CLIP_INT16 -#define CLIP_INT16(x) \ - do { \ - if (x > OI_INT16_MAX) { \ - x = OI_INT16_MAX; \ - } else if (x < OI_INT16_MIN) { \ - x = OI_INT16_MIN; \ - } \ - } while (0) -#endif - -#define MUL_16S_16S(_x, _y) ((_x) * (_y)) - -PRIVATE void SynthWindow80_generated(OI_INT16 *pcm, SBC_BUFFER_T const *RESTRICT buffer, OI_UINT strideShift) { - OI_INT32 pcm_a, pcm_b; - /* 1 - stage 0 */ pcm_b = 0; - /* 1 - stage 0 */ pcm_b += (MUL_16S_16S(8235, buffer[12])) >> 3; - /* 1 - stage 0 */ pcm_b += (MUL_16S_16S(-23167, buffer[20])) >> 3; - /* 1 - stage 0 */ pcm_b += (MUL_16S_16S(26479, buffer[28])) >> 2; - /* 1 - stage 0 */ pcm_b += (MUL_16S_16S(-17397, buffer[36])) << 1; - /* 1 - stage 0 */ pcm_b += (MUL_16S_16S(9399, buffer[44])) << 3; - /* 1 - stage 0 */ pcm_b += (MUL_16S_16S(17397, buffer[52])) << 1; - /* 1 - stage 0 */ pcm_b += (MUL_16S_16S(26479, buffer[60])) >> 2; - /* 1 - stage 0 */ pcm_b += (MUL_16S_16S(23167, buffer[68])) >> 3; - /* 1 - stage 0 */ pcm_b += (MUL_16S_16S(8235, buffer[76])) >> 3; - /* 1 - stage 0 */ pcm_b /= 32768; - CLIP_INT16(pcm_b); - pcm[0 << strideShift] = (OI_INT16)pcm_b; - /* 1 - stage 1 */ pcm_a = 0; - /* 1 - stage 1 */ pcm_b = 0; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(-3263, buffer[5])) >> 5; - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(9293, buffer[5])) >> 3; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(29293, buffer[11])) >> 5; - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(-6087, buffer[11])) >> 2; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(-5229, buffer[21])); - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(1247, buffer[21])) << 3; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(30835, buffer[27])) >> 3; - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(-2893, buffer[27])) << 3; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(-27021, buffer[37])) << 1; - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(23671, buffer[37])) << 2; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(31633, buffer[43])) << 1; - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(18055, buffer[43])) << 1; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(17319, buffer[53])) << 1; - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(11537, buffer[53])) >> 1; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(26663, buffer[59])) >> 2; - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(1747, buffer[59])) << 1; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(4555, buffer[69])) >> 1; - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(685, buffer[69])) << 1; - /* 1 - stage 1 */ pcm_a += (MUL_16S_16S(12419, buffer[75])) >> 4; - /* 1 - stage 1 */ pcm_b += (MUL_16S_16S(8721, buffer[75])) >> 7; - /* 1 - stage 1 */ pcm_a /= 32768; - CLIP_INT16(pcm_a); - pcm[1 << strideShift] = (OI_INT16)pcm_a; - /* 1 - stage 1 */ pcm_b /= 32768; - CLIP_INT16(pcm_b); - pcm[7 << strideShift] = (OI_INT16)pcm_b; - /* 1 - stage 2 */ pcm_a = 0; - /* 1 - stage 2 */ pcm_b = 0; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(-10385, buffer[6])) >> 6; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(11167, buffer[6])) >> 4; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(24995, buffer[10])) >> 5; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(-10337, buffer[10])) >> 4; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(-309, buffer[22])) << 4; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(1917, buffer[22])) << 2; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(9161, buffer[26])) >> 3; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(-30605, buffer[26])) >> 1; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(-23063, buffer[38])) << 1; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(8317, buffer[38])) << 3; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(27561, buffer[42])) << 1; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(9553, buffer[42])) << 2; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(2309, buffer[54])) << 3; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(22117, buffer[54])) >> 4; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(12705, buffer[58])) >> 1; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(16383, buffer[58])) >> 2; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(6239, buffer[70])) >> 3; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(7543, buffer[70])) >> 3; - /* 1 - stage 2 */ pcm_a += (MUL_16S_16S(9251, buffer[74])) >> 4; - /* 1 - stage 2 */ pcm_b += (MUL_16S_16S(8603, buffer[74])) >> 6; - /* 1 - stage 2 */ pcm_a /= 32768; - CLIP_INT16(pcm_a); - pcm[2 << strideShift] = (OI_INT16)pcm_a; - /* 1 - stage 2 */ pcm_b /= 32768; - CLIP_INT16(pcm_b); - pcm[6 << strideShift] = (OI_INT16)pcm_b; - /* 1 - stage 3 */ pcm_a = 0; - /* 1 - stage 3 */ pcm_b = 0; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(-16457, buffer[7])) >> 6; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(16913, buffer[7])) >> 5; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(19083, buffer[9])) >> 5; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(-8443, buffer[9])) >> 7; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(-23641, buffer[23])) >> 2; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(3687, buffer[23])) << 1; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(-29015, buffer[25])) >> 4; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(-301, buffer[25])) << 5; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(-12889, buffer[39])) << 2; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(15447, buffer[39])) << 2; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(6145, buffer[41])) << 3; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(10255, buffer[41])) << 2; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(24211, buffer[55])) >> 1; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(-18233, buffer[55])) >> 3; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(23469, buffer[57])) >> 2; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(9405, buffer[57])) >> 1; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(21223, buffer[71])) >> 8; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(1499, buffer[71])) >> 1; - /* 1 - stage 3 */ pcm_a += (MUL_16S_16S(26913, buffer[73])) >> 6; - /* 1 - stage 3 */ pcm_b += (MUL_16S_16S(26189, buffer[73])) >> 7; - /* 1 - stage 3 */ pcm_a /= 32768; - CLIP_INT16(pcm_a); - pcm[3 << strideShift] = (OI_INT16)pcm_a; - /* 1 - stage 3 */ pcm_b /= 32768; - CLIP_INT16(pcm_b); - pcm[5 << strideShift] = (OI_INT16)pcm_b; - /* 1 - stage 4 */ pcm_a = 0; - /* 1 - stage 4 */ pcm_a += (MUL_16S_16S(10445, buffer[8])) >> 4; - /* 1 - stage 4 */ pcm_a += (MUL_16S_16S(-5297, buffer[24])) << 1; - /* 1 - stage 4 */ pcm_a += (MUL_16S_16S(22299, buffer[40])) << 2; - /* 1 - stage 4 */ pcm_a += (MUL_16S_16S(10603, buffer[56])); - /* 1 - stage 4 */ pcm_a += (MUL_16S_16S(9539, buffer[72])) >> 4; - /* 1 - stage 4 */ pcm_a /= 32768; - CLIP_INT16(pcm_a); - pcm[4 << strideShift] = (OI_INT16)pcm_a; -} - -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-dct8.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-dct8.c deleted file mode 100644 index 4133ae5e..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-dct8.c +++ /dev/null @@ -1,346 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** @file -@ingroup codec_internal -*/ - -/**@addgroup codec_internal*/ -/**@{*/ - -/* - * Performs an 8-point Type-II scaled DCT using the Arai-Agui-Nakajima - * factorization. The scaling factors are folded into the windowing - * constants. 29 adds and 5 16x32 multiplies per 8 samples. - */ -#include "oi_codec_sbc_private.h" - -#if defined(SBC_DEC_INCLUDED) - -#define AAN_C4_FIX (759250125) /* S1.30 759250125 0.707107*/ - -#define AAN_C6_FIX (410903207) /* S1.30 410903207 0.382683*/ - -#define AAN_Q0_FIX (581104888) /* S1.30 581104888 0.541196*/ - -#define AAN_Q1_FIX (1402911301) /* S1.30 1402911301 1.306563*/ - -/** Scales x by y bits to the right, adding a rounding factor. - */ -#ifndef SCALE -#define SCALE(x, y) (((x) + (1 << ((y)-1))) >> (y)) -#endif - -/** - * Default C language implementation of a 32x32->32 multiply. This function may - * be replaced by a platform-specific version for speed. - * - * @param u A signed 32-bit multiplicand - * @param v A signed 32-bit multiplier - - * @return A signed 32-bit value corresponding to the 32 most significant bits - * of the 64-bit product of u and v. - */ -static INLINE OI_INT32 default_mul_32s_32s_hi(OI_INT32 u, OI_INT32 v) { - OI_UINT32 u0, v0; - OI_INT32 u1, v1, w1, w2, t; - - u0 = u & 0xFFFF; - u1 = u >> 16; - v0 = v & 0xFFFF; - v1 = v >> 16; - t = u0 * v0; - t = u1 * v0 + ((OI_UINT32)t >> 16); - w1 = t & 0xFFFF; - w2 = t >> 16; - w1 = u0 * v1 + w1; - return u1 * v1 + w2 + (w1 >> 16); -} - -#define MUL_32S_32S_HI(_x, _y) default_mul_32s_32s_hi(_x, _y) - -#ifdef DEBUG_DCT -PRIVATE void float_dct2_8(float *RESTRICT out, OI_INT32 const *RESTRICT in) { -#define FIX(x, bits) (((int)floor(0.5f + ((x) * ((float)(1 << bits))))) / ((float)(1 << bits))) -#define FLOAT_BUTTERFLY(x, y) \ - x += y; \ - y = x - (y * 2); \ - OI_ASSERT(VALID_INT32(x)); \ - OI_ASSERT(VALID_INT32(y)); -#define FLOAT_MULT_DCT(K, sample) (FIX(K, 20) * sample) -#define FLOAT_SCALE(x, y) (((x) / (double)(1 << (y)))) - - double L00, L01, L02, L03, L04, L05, L06, L07; - double L25; - - double in0, in1, in2, in3; - double in4, in5, in6, in7; - - in0 = FLOAT_SCALE(in[0], DCTII_8_SHIFT_IN); - OI_ASSERT(VALID_INT32(in0)); - in1 = FLOAT_SCALE(in[1], DCTII_8_SHIFT_IN); - OI_ASSERT(VALID_INT32(in1)); - in2 = FLOAT_SCALE(in[2], DCTII_8_SHIFT_IN); - OI_ASSERT(VALID_INT32(in2)); - in3 = FLOAT_SCALE(in[3], DCTII_8_SHIFT_IN); - OI_ASSERT(VALID_INT32(in3)); - in4 = FLOAT_SCALE(in[4], DCTII_8_SHIFT_IN); - OI_ASSERT(VALID_INT32(in4)); - in5 = FLOAT_SCALE(in[5], DCTII_8_SHIFT_IN); - OI_ASSERT(VALID_INT32(in5)); - in6 = FLOAT_SCALE(in[6], DCTII_8_SHIFT_IN); - OI_ASSERT(VALID_INT32(in6)); - in7 = FLOAT_SCALE(in[7], DCTII_8_SHIFT_IN); - OI_ASSERT(VALID_INT32(in7)); - - L00 = (in0 + in7); - OI_ASSERT(VALID_INT32(L00)); - L01 = (in1 + in6); - OI_ASSERT(VALID_INT32(L01)); - L02 = (in2 + in5); - OI_ASSERT(VALID_INT32(L02)); - L03 = (in3 + in4); - OI_ASSERT(VALID_INT32(L03)); - - L04 = (in3 - in4); - OI_ASSERT(VALID_INT32(L04)); - L05 = (in2 - in5); - OI_ASSERT(VALID_INT32(L05)); - L06 = (in1 - in6); - OI_ASSERT(VALID_INT32(L06)); - L07 = (in0 - in7); - OI_ASSERT(VALID_INT32(L07)); - - FLOAT_BUTTERFLY(L00, L03); - FLOAT_BUTTERFLY(L01, L02); - - L02 += L03; - OI_ASSERT(VALID_INT32(L02)); - - L02 = FLOAT_MULT_DCT(AAN_C4_FLOAT, L02); - OI_ASSERT(VALID_INT32(L02)); - - FLOAT_BUTTERFLY(L00, L01); - - out[0] = (float)FLOAT_SCALE(L00, DCTII_8_SHIFT_0); - OI_ASSERT(VALID_INT16(out[0])); - out[4] = (float)FLOAT_SCALE(L01, DCTII_8_SHIFT_4); - OI_ASSERT(VALID_INT16(out[4])); - - FLOAT_BUTTERFLY(L03, L02); - out[6] = (float)FLOAT_SCALE(L02, DCTII_8_SHIFT_6); - OI_ASSERT(VALID_INT16(out[6])); - out[2] = (float)FLOAT_SCALE(L03, DCTII_8_SHIFT_2); - OI_ASSERT(VALID_INT16(out[2])); - - L04 += L05; - OI_ASSERT(VALID_INT32(L04)); - L05 += L06; - OI_ASSERT(VALID_INT32(L05)); - L06 += L07; - OI_ASSERT(VALID_INT32(L06)); - - L04 /= 2; - L05 /= 2; - L06 /= 2; - L07 /= 2; - - L05 = FLOAT_MULT_DCT(AAN_C4_FLOAT, L05); - OI_ASSERT(VALID_INT32(L05)); - - L25 = L06 - L04; - OI_ASSERT(VALID_INT32(L25)); - L25 = FLOAT_MULT_DCT(AAN_C6_FLOAT, L25); - OI_ASSERT(VALID_INT32(L25)); - - L04 = FLOAT_MULT_DCT(AAN_Q0_FLOAT, L04); - OI_ASSERT(VALID_INT32(L04)); - L04 -= L25; - OI_ASSERT(VALID_INT32(L04)); - - L06 = FLOAT_MULT_DCT(AAN_Q1_FLOAT, L06); - OI_ASSERT(VALID_INT32(L06)); - L06 -= L25; - OI_ASSERT(VALID_INT32(L25)); - - FLOAT_BUTTERFLY(L07, L05); - - FLOAT_BUTTERFLY(L05, L04); - out[3] = (float)(FLOAT_SCALE(L04, DCTII_8_SHIFT_3 - 1)); - OI_ASSERT(VALID_INT16(out[3])); - out[5] = (float)(FLOAT_SCALE(L05, DCTII_8_SHIFT_5 - 1)); - OI_ASSERT(VALID_INT16(out[5])); - - FLOAT_BUTTERFLY(L07, L06); - out[7] = (float)(FLOAT_SCALE(L06, DCTII_8_SHIFT_7 - 1)); - OI_ASSERT(VALID_INT16(out[7])); - out[1] = (float)(FLOAT_SCALE(L07, DCTII_8_SHIFT_1 - 1)); - OI_ASSERT(VALID_INT16(out[1])); -} -#undef BUTTERFLY -#endif - -/* - * This function calculates the AAN DCT. Its inputs are in S16.15 format, as - * returned by OI_SBC_Dequant. In practice, abs(in[x]) < 52429.0 / 1.38 - * (1244918057 integer). The function it computes is an approximation to the array defined - * by: - * - * diag(aan_s) * AAN= C2 - * - * or - * - * AAN = diag(1/aan_s) * C2 - * - * where C2 is as it is defined in the comment at the head of this file, and - * - * aan_s[i] = aan_s = 1/(2*cos(i*pi/16)) with i = 1..7, aan_s[0] = 1; - * - * aan_s[i] = [ 1.000 0.510 0.541 0.601 0.707 0.900 1.307 2.563 ] - * - * The output ranges are shown as follows: - * - * Let Y[0..7] = AAN * X[0..7] - * - * Without loss of generality, assume the input vector X consists of elements - * between -1 and 1. The maximum possible value of a given output element occurs - * with some particular combination of input vector elements each of which is -1 - * or 1. Consider the computation of Y[i]. Y[i] = sum t=0..7 of AAN[t,i]*X[i]. Y is - * maximized if the sign of X[i] matches the sign of AAN[t,i], ensuring a - * positive contribution to the sum. Equivalently, one may simply sum - * abs(AAN)[t,i] over t to get the maximum possible value of Y[i]. - * - * This yields approximately [8.00 10.05 9.66 8.52 8.00 5.70 4.00 2.00] - * - * Given the maximum magnitude sensible input value of +/-37992, this yields the - * following vector of maximum output magnitudes: - * - * [ 303936 381820 367003 323692 303936 216555 151968 75984 ] - * - * Ultimately, these values must fit into 16 bit signed integers, so they must - * be scaled. A non-uniform scaling helps maximize the kept precision. The - * relative number of extra bits of precision maintainable with respect to the - * largest value is given here: - * - * [ 0 0 0 0 0 0 1 2 ] - * - */ -PRIVATE void dct2_8(SBC_BUFFER_T *RESTRICT out, OI_INT32 const *RESTRICT in) { -#define BUTTERFLY(x, y) \ - x += y; \ - y = x - (y << 1); -#define FIX_MULT_DCT(K, x) (MUL_32S_32S_HI(K, x) << 2) - - OI_INT32 L00, L01, L02, L03, L04, L05, L06, L07; - OI_INT32 L25; - - OI_INT32 in0, in1, in2, in3; - OI_INT32 in4, in5, in6, in7; - -#if DCTII_8_SHIFT_IN != 0 - in0 = SCALE(in[0], DCTII_8_SHIFT_IN); - in1 = SCALE(in[1], DCTII_8_SHIFT_IN); - in2 = SCALE(in[2], DCTII_8_SHIFT_IN); - in3 = SCALE(in[3], DCTII_8_SHIFT_IN); - in4 = SCALE(in[4], DCTII_8_SHIFT_IN); - in5 = SCALE(in[5], DCTII_8_SHIFT_IN); - in6 = SCALE(in[6], DCTII_8_SHIFT_IN); - in7 = SCALE(in[7], DCTII_8_SHIFT_IN); -#else - in0 = in[0]; - in1 = in[1]; - in2 = in[2]; - in3 = in[3]; - in4 = in[4]; - in5 = in[5]; - in6 = in[6]; - in7 = in[7]; -#endif - - L00 = in0 + in7; - L01 = in1 + in6; - L02 = in2 + in5; - L03 = in3 + in4; - - L04 = in3 - in4; - L05 = in2 - in5; - L06 = in1 - in6; - L07 = in0 - in7; - - BUTTERFLY(L00, L03); - BUTTERFLY(L01, L02); - - L02 += L03; - - L02 = FIX_MULT_DCT(AAN_C4_FIX, L02); - - BUTTERFLY(L00, L01); - - out[0] = (OI_INT16)SCALE(L00, DCTII_8_SHIFT_0); - out[4] = (OI_INT16)SCALE(L01, DCTII_8_SHIFT_4); - - BUTTERFLY(L03, L02); - out[6] = (OI_INT16)SCALE(L02, DCTII_8_SHIFT_6); - out[2] = (OI_INT16)SCALE(L03, DCTII_8_SHIFT_2); - - L04 += L05; - L05 += L06; - L06 += L07; - - L04 /= 2; - L05 /= 2; - L06 /= 2; - L07 /= 2; - - L05 = FIX_MULT_DCT(AAN_C4_FIX, L05); - - L25 = L06 - L04; - L25 = FIX_MULT_DCT(AAN_C6_FIX, L25); - - L04 = FIX_MULT_DCT(AAN_Q0_FIX, L04); - L04 -= L25; - - L06 = FIX_MULT_DCT(AAN_Q1_FIX, L06); - L06 -= L25; - - BUTTERFLY(L07, L05); - - BUTTERFLY(L05, L04); - out[3] = (OI_INT16)SCALE(L04, DCTII_8_SHIFT_3 - 1); - out[5] = (OI_INT16)SCALE(L05, DCTII_8_SHIFT_5 - 1); - - BUTTERFLY(L07, L06); - out[7] = (OI_INT16)SCALE(L06, DCTII_8_SHIFT_7 - 1); - out[1] = (OI_INT16)SCALE(L07, DCTII_8_SHIFT_1 - 1); -#undef BUTTERFLY - -#ifdef DEBUG_DCT - { - float float_out[8]; - float_dct2_8(float_out, in); - } -#endif -} - -/**@}*/ -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-sbc.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-sbc.c deleted file mode 100644 index f8926df5..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/dec/synthesis-sbc.c +++ /dev/null @@ -1,515 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 2014 The Android Open Source Project - * Copyright 2003 - 2004 Open Interface North America, Inc. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/********************************************************************************** - $Revision: #1 $ -***********************************************************************************/ - -/** @file - -This file, along with synthesis-generated.c, contains the synthesis -filterbank routines. The operations performed correspond to the -operations described in A2DP Appendix B, Figure 12.3. Several -mathematical optimizations are performed, particularly for the -8-subband case. - -One important optimization is to note that the "matrixing" operation -can be decomposed into the product of a type II discrete cosine kernel -and another, sparse matrix. - -According to Fig 12.3, in the 8-subband case, -@code - N[k][i] = cos((i+0.5)*(k+4)*pi/8), k = 0..15 and i = 0..7 -@endcode - -N can be factored as R * C2, where C2 is an 8-point type II discrete -cosine kernel given by -@code - C2[k][i] = cos((i+0.5)*k*pi/8)), k = 0..7 and i = 0..7 -@endcode - -R turns out to be a sparse 16x8 matrix with the following non-zero -entries: -@code - R[k][k+4] = 1, k = 0..3 - R[k][abs(12-k)] = -1, k = 5..15 -@endcode - -The spec describes computing V[0..15] as N * R. -@code - V[0..15] = N * R = (R * C2) * R = R * (C2 * R) -@endcode - -C2 * R corresponds to computing the discrete cosine transform of R, so -V[0..15] can be computed by taking the DCT of R followed by assignment -and selective negation of the DCT result into V. - - Although this was derived empirically using GNU Octave, it is - formally demonstrated in, e.g., Liu, Chi-Min and Lee, - Wen-Chieh. "A Unified Fast Algorithm for Cosine Modulated - Filter Banks in Current Audio Coding Standards." Journal of - the AES 47 (December 1999): 1061. - -Given the shift operation performed prior to computing V[0..15], it is -clear that V[0..159] represents a rolling history of the 10 most -recent groups of blocks input to the synthesis operation. Interpreting -the matrix N in light of its factorization into C2 and R, R's -sparseness has implications for interpreting the values in V. In -particular, there is considerable redundancy in the values stored in -V. Furthermore, since R[4][0..7] are all zeros, one out of every 16 -values in V will be zero regardless of the input data. Within each -block of 16 values in V, fully half of them are redundant or -irrelevant: - -@code - V[ 0] = DCT[4] - V[ 1] = DCT[5] - V[ 2] = DCT[6] - V[ 3] = DCT[7] - V[ 4] = 0 - V[ 5] = -DCT[7] = -V[3] (redundant) - V[ 6] = -DCT[6] = -V[2] (redundant) - V[ 7] = -DCT[5] = -V[1] (redundant) - V[ 8] = -DCT[4] = -V[0] (redundant) - V[ 9] = -DCT[3] - V[10] = -DCT[2] - V[11] = -DCT[1] - V[12] = -DCT[0] - V[13] = -DCT[1] = V[11] (redundant) - V[14] = -DCT[2] = V[10] (redundant) - V[15] = -DCT[3] = V[ 9] (redundant) -@endcode - -Since the elements of V beyond 15 were originally computed the same -way during a previous run, what holds true for V[x] also holds true -for V[x+16]. Thus, so long as care is taken to maintain the mapping, -we need only actually store the unique values, which correspond to the -output of the DCT, in some cases inverted. In fact, instead of storing -V[0..159], we could store DCT[0..79] which would contain a history of -DCT results. More on this in a bit. - -Going back to figure 12.3 in the spec, it should be clear that the -vector U need not actually be explicitly constructed, but that with -suitable indexing into V during the window operation, the same end can -be accomplished. In the same spirit of the pseudocode shown in the -figure, the following is the construction of W without using U: - -@code - for i=0 to 79 do - W[i] = D[i]*VSIGN(i)*V[remap_V(i)] where remap_V(i) = 32*(int(i/16)) + (i % 16) + (i % 16 >= 8 ? 16 : 0) - and VSIGN(i) maps i%16 into {1, 1, 1, 1, 0, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1 } - These values correspond to the - signs of the redundant values as - shown in the explanation three - paragraphs above. -@endcode - -We saw above how V[4..8,13..15] (and by extension -V[(4..8,13..15)+16*n]) can be defined in terms of other elements -within the subblock of V. V[0..3,9..12] correspond to DCT elements. - -@code - for i=0 to 79 do - W[i] = D[i]*DSIGN(i)*DCT[remap_DCT(i)] -@endcode - -The DCT is calculated using the Arai-Agui-Nakajima factorization, -which saves some computation by producing output that needs to be -multiplied by scaling factors before being used. - -@code - for i=0 to 79 do - W[i] = D[i]*SCALE[i%8]*AAN_DCT[remap_DCT(i)] -@endcode - -D can be premultiplied with the DCT scaling factors to yield - -@code - for i=0 to 79 do - W[i] = DSCALED[i]*AAN_DCT[remap_DCT(i)] where DSCALED[i] = D[i]*SCALE[i%8] -@endcode - -The output samples X[0..7] are defined as sums of W: - -@code - X[j] = sum{i=0..9}(W[j+8*i]) -@endcode - -@ingroup codec_internal -*/ - -/** -@addtogroup codec_internal -@{ -*/ -#include "oi_codec_sbc_private.h" - -#if defined(SBC_DEC_INCLUDED) - -const OI_INT32 dec_window_4[21] = { - 0, /* +0.00000000E+00 */ - 97, /* +5.36548976E-04 */ - 270, /* +1.49188357E-03 */ - 495, /* +2.73370904E-03 */ - 694, /* +3.83720193E-03 */ - 704, /* +3.89205149E-03 */ - 338, /* +1.86581691E-03 */ - -554, /* -3.06012286E-03 */ - 1974, /* +1.09137620E-02 */ - 3697, /* +2.04385087E-02 */ - 5224, /* +2.88757392E-02 */ - 5824, /* +3.21939290E-02 */ - 4681, /* +2.58767811E-02 */ - 1109, /* +6.13245186E-03 */ - -5214, /* -2.88217274E-02 */ - -14047, /* -7.76463494E-02 */ - 24529, /* +1.35593274E-01 */ - 35274, /* +1.94987841E-01 */ - 44618, /* +2.46636662E-01 */ - 50984, /* +2.81828203E-01 */ - 53243, /* +2.94315332E-01 */ -}; - -#define DCTII_4_K06_FIX (11585) /* S1.14 11585 0.707107*/ - -#define DCTII_4_K08_FIX (21407) /* S1.14 21407 1.306563*/ - -#define DCTII_4_K09_FIX (-15137) /* S1.14 -15137 -0.923880*/ - -#define DCTII_4_K10_FIX (-8867) /* S1.14 -8867 -0.541196*/ - -/** Scales x by y bits to the right, adding a rounding factor. - */ -#ifndef SCALE -#define SCALE(x, y) (((x) + (1 << ((y)-1))) >> (y)) -#endif - -#ifndef CLIP_INT16 -#define CLIP_INT16(x) \ - do { \ - if (x > OI_INT16_MAX) { \ - x = OI_INT16_MAX; \ - } else if (x < OI_INT16_MIN) { \ - x = OI_INT16_MIN; \ - } \ - } while (0) -#endif - -/** - * Default C language implementation of a 16x32->32 multiply. This function may - * be replaced by a platform-specific version for speed. - * - * @param u A signed 16-bit multiplicand - * @param v A signed 32-bit multiplier - - * @return A signed 32-bit value corresponding to the 32 most significant bits - * of the 48-bit product of u and v. - */ -static INLINE OI_INT32 default_mul_16s_32s_hi(OI_INT16 u, OI_INT32 v) { - OI_UINT16 v0; - OI_INT16 v1; - - OI_INT32 w, x; - - v0 = (OI_UINT16)(v & 0xffff); - v1 = (OI_INT16)(v >> 16); - - w = v1 * u; - x = u * v0; - - return w + (x >> 16); -} - -#define MUL_16S_32S_HI(_x, _y) default_mul_16s_32s_hi(_x, _y) - -#define LONG_MULT_DCT(K, sample) (MUL_16S_32S_HI(K, sample) << 2) - -PRIVATE void SynthWindow80_generated(OI_INT16 *pcm, SBC_BUFFER_T const *RESTRICT buffer, OI_UINT strideShift); -PRIVATE void SynthWindow112_generated(OI_INT16 *pcm, SBC_BUFFER_T const *RESTRICT buffer, OI_UINT strideShift); -PRIVATE void dct2_8(SBC_BUFFER_T *RESTRICT out, OI_INT32 const *RESTRICT x); - -typedef void (*SYNTH_FRAME)(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_INT16 *pcm, OI_UINT blkstart, OI_UINT blkcount); - -#ifndef COPY_BACKWARD_32BIT_ALIGNED_72_HALFWORDS -#define COPY_BACKWARD_32BIT_ALIGNED_72_HALFWORDS(dest, src) \ - do { \ - shift_buffer(dest, src, 72); \ - } while (0) -#endif - -#ifndef DCT2_8 -#define DCT2_8(dst, src) dct2_8(dst, src) -#endif - -#ifndef SYNTH80 -#define SYNTH80 SynthWindow80_generated -#endif - -#ifndef SYNTH112 -#define SYNTH112 SynthWindow112_generated -#endif - -PRIVATE void OI_SBC_SynthFrame_80(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_INT16 *pcm, OI_UINT blkstart, OI_UINT blkcount) { - OI_UINT blk; - OI_UINT ch; - OI_UINT nrof_channels = context->common.frameInfo.nrof_channels; - OI_UINT pcmStrideShift = context->common.pcmStride == 1 ? 0 : 1; - OI_UINT offset = context->common.filterBufferOffset; - OI_INT32 *s = context->common.subdata + 8 * nrof_channels * blkstart; - OI_UINT blkstop = blkstart + blkcount; - - for (blk = blkstart; blk < blkstop; blk++) { - if (offset == 0) { - COPY_BACKWARD_32BIT_ALIGNED_72_HALFWORDS(context->common.filterBuffer[0] + context->common.filterBufferLen - 72, context->common.filterBuffer[0]); - if (nrof_channels == 2) { - COPY_BACKWARD_32BIT_ALIGNED_72_HALFWORDS(context->common.filterBuffer[1] + context->common.filterBufferLen - 72, context->common.filterBuffer[1]); - } - offset = context->common.filterBufferLen - 80; - } else { - offset -= 1 * 8; - } - - for (ch = 0; ch < nrof_channels; ch++) { - DCT2_8(context->common.filterBuffer[ch] + offset, s); - SYNTH80(pcm + ch, context->common.filterBuffer[ch] + offset, pcmStrideShift); - s += 8; - } - pcm += (8 << pcmStrideShift); - } - context->common.filterBufferOffset = offset; -} - -PRIVATE void OI_SBC_SynthFrame_4SB(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_INT16 *pcm, OI_UINT blkstart, OI_UINT blkcount) { - OI_UINT blk; - OI_UINT ch; - OI_UINT nrof_channels = context->common.frameInfo.nrof_channels; - OI_UINT pcmStrideShift = context->common.pcmStride == 1 ? 0 : 1; - OI_UINT offset = context->common.filterBufferOffset; - OI_INT32 *s = context->common.subdata + 8 * nrof_channels * blkstart; - OI_UINT blkstop = blkstart + blkcount; - - for (blk = blkstart; blk < blkstop; blk++) { - if (offset == 0) { - COPY_BACKWARD_32BIT_ALIGNED_72_HALFWORDS(context->common.filterBuffer[0] + context->common.filterBufferLen - 72, context->common.filterBuffer[0]); - if (nrof_channels == 2) { - COPY_BACKWARD_32BIT_ALIGNED_72_HALFWORDS(context->common.filterBuffer[1] + context->common.filterBufferLen - 72, context->common.filterBuffer[1]); - } - offset = context->common.filterBufferLen - 80; - } else { - offset -= 8; - } - for (ch = 0; ch < nrof_channels; ch++) { - cosineModulateSynth4(context->common.filterBuffer[ch] + offset, s); - SynthWindow40_int32_int32_symmetry_with_sum(pcm + ch, context->common.filterBuffer[ch] + offset, pcmStrideShift); - s += 4; - } - pcm += (4 << pcmStrideShift); - } - context->common.filterBufferOffset = offset; -} - -#ifdef SBC_ENHANCED - -PRIVATE void OI_SBC_SynthFrame_Enhanced(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_INT16 *pcm, OI_UINT blkstart, OI_UINT blkcount) { - OI_UINT blk; - OI_UINT ch; - OI_UINT nrof_channels = context->common.frameInfo.nrof_channels; - OI_UINT pcmStrideShift = context->common.pcmStride == 1 ? 0 : 1; - OI_UINT offset = context->common.filterBufferOffset; - OI_INT32 *s = context->common.subdata + 8 * nrof_channels * blkstart; - OI_UINT blkstop = blkstart + blkcount; - - for (blk = blkstart; blk < blkstop; blk++) { - if (offset == 0) { - COPY_BACKWARD_32BIT_ALIGNED_104_HALFWORDS(context->common.filterBuffer[0] + context->common.filterBufferLen - 104, context->common.filterBuffer[0]); - if (nrof_channels == 2) { - COPY_BACKWARD_32BIT_ALIGNED_104_HALFWORDS(context->common.filterBuffer[1] + context->common.filterBufferLen - 104, context->common.filterBuffer[1]); - } - offset = context->common.filterBufferLen - 112; - } else { - offset -= 8; - } - for (ch = 0; ch < nrof_channels; ++ch) { - DCT2_8(context->common.filterBuffer[ch] + offset, s); - SYNTH112(pcm + ch, context->common.filterBuffer[ch] + offset, pcmStrideShift); - s += 8; - } - pcm += (8 << pcmStrideShift); - } - context->common.filterBufferOffset = offset; -} - -static const SYNTH_FRAME SynthFrameEnhanced[] = { - NULL, /* invalid */ - OI_SBC_SynthFrame_Enhanced, /* mono */ - OI_SBC_SynthFrame_Enhanced /* stereo */ -}; - -#endif - -static const SYNTH_FRAME SynthFrame8SB[] = { - NULL, /* invalid */ - OI_SBC_SynthFrame_80, /* mono */ - OI_SBC_SynthFrame_80 /* stereo */ -}; - -static const SYNTH_FRAME SynthFrame4SB[] = { - NULL, /* invalid */ - OI_SBC_SynthFrame_4SB, /* mono */ - OI_SBC_SynthFrame_4SB /* stereo */ -}; - -PRIVATE void OI_SBC_SynthFrame(OI_CODEC_SBC_DECODER_CONTEXT *context, OI_INT16 *pcm, OI_UINT start_block, OI_UINT nrof_blocks) { - OI_UINT nrof_subbands = context->common.frameInfo.nrof_subbands; - OI_UINT nrof_channels = context->common.frameInfo.nrof_channels; - - OI_ASSERT(nrof_subbands == 4 || nrof_subbands == 8); - if (nrof_subbands == 4) { - SynthFrame4SB[nrof_channels](context, pcm, start_block, nrof_blocks); -#ifdef SBC_ENHANCED - } else if (context->common.frameInfo.enhanced) { - SynthFrameEnhanced[nrof_channels](context, pcm, start_block, nrof_blocks); -#endif /* SBC_ENHANCED */ - } else { - SynthFrame8SB[nrof_channels](context, pcm, start_block, nrof_blocks); - } -} - -void SynthWindow40_int32_int32_symmetry_with_sum(OI_INT16 *pcm, SBC_BUFFER_T buffer[80], OI_UINT strideShift) { - OI_INT32 pa; - OI_INT32 pb; - - /* These values should be zero, since out[2] of the 4-band cosine modulation - * is always zero. */ - OI_ASSERT(buffer[2] == 0); - OI_ASSERT(buffer[10] == 0); - OI_ASSERT(buffer[18] == 0); - OI_ASSERT(buffer[26] == 0); - OI_ASSERT(buffer[34] == 0); - OI_ASSERT(buffer[42] == 0); - OI_ASSERT(buffer[50] == 0); - OI_ASSERT(buffer[58] == 0); - OI_ASSERT(buffer[66] == 0); - OI_ASSERT(buffer[74] == 0); - - pa = dec_window_4[4] * (buffer[12] + buffer[76]); - pa += dec_window_4[8] * (buffer[16] - buffer[64]); - pa += dec_window_4[12] * (buffer[28] + buffer[60]); - pa += dec_window_4[16] * (buffer[32] - buffer[48]); - pa += dec_window_4[20] * buffer[44]; - pa = SCALE(-pa, 15); - CLIP_INT16(pa); - pcm[0 << strideShift] = (OI_INT16)pa; - - pa = dec_window_4[1] * buffer[1]; - pb = dec_window_4[1] * buffer[79]; - pb += dec_window_4[3] * buffer[3]; - pa += dec_window_4[3] * buffer[77]; - pa += dec_window_4[5] * buffer[13]; - pb += dec_window_4[5] * buffer[67]; - pb += dec_window_4[7] * buffer[15]; - pa += dec_window_4[7] * buffer[65]; - pa += dec_window_4[9] * buffer[17]; - pb += dec_window_4[9] * buffer[63]; - pb += dec_window_4[11] * buffer[19]; - pa += dec_window_4[11] * buffer[61]; - pa += dec_window_4[13] * buffer[29]; - pb += dec_window_4[13] * buffer[51]; - pb += dec_window_4[15] * buffer[31]; - pa += dec_window_4[15] * buffer[49]; - pa += dec_window_4[17] * buffer[33]; - pb += dec_window_4[17] * buffer[47]; - pb += dec_window_4[19] * buffer[35]; - pa += dec_window_4[19] * buffer[45]; - pa = SCALE(-pa, 15); - CLIP_INT16(pa); - pcm[1 << strideShift] = (OI_INT16)(pa); - pb = SCALE(-pb, 15); - CLIP_INT16(pb); - pcm[3 << strideShift] = (OI_INT16)(pb); - - pa = dec_window_4[2] * (/*buffer[ 2] + */ buffer[78]); /* buffer[ 2] is always zero */ - pa += dec_window_4[6] * (buffer[14] /* + buffer[66]*/); /* buffer[66] is always zero */ - pa += dec_window_4[10] * (/*buffer[18] + */ buffer[62]); /* buffer[18] is always zero */ - pa += dec_window_4[14] * (buffer[30] /* + buffer[50]*/); /* buffer[50] is always zero */ - pa += dec_window_4[18] * (/*buffer[34] + */ buffer[46]); /* buffer[34] is always zero */ - pa = SCALE(-pa, 15); - CLIP_INT16(pa); - pcm[2 << strideShift] = (OI_INT16)(pa); -} - -/** - This routine implements the cosine modulation matrix for 4-subband - synthesis. This is called "matrixing" in the SBC specification. This - matrix, M4, can be factored into an 8-point Type II Discrete Cosine - Transform, DCTII_4 and a matrix S4, given here: - - @code - __ __ - | 0 0 1 0 | - | 0 0 0 1 | - | 0 0 0 0 | - | 0 0 0 -1 | - S4 = | 0 0 -1 0 | - | 0 -1 0 0 | - | -1 0 0 0 | - |__ 0 -1 0 0 __| - - M4 * in = S4 * (DCTII_4 * in) - @endcode - - (DCTII_4 * in) is computed using a Fast Cosine Transform. The algorithm - here is based on an implementation computed by the SPIRAL computer - algebra system, manually converted to fixed-point arithmetic. S4 can be - implemented using only assignment and negation. - */ -PRIVATE void cosineModulateSynth4(SBC_BUFFER_T *RESTRICT out, OI_INT32 const *RESTRICT in) { - OI_INT32 f0, f1, f2, f3, f4, f7, f8, f9, f10; - OI_INT32 y0, y1, y2, y3; - - f0 = (in[0] - in[3]); - f1 = (in[0] + in[3]); - f2 = (in[1] - in[2]); - f3 = (in[1] + in[2]); - - f4 = f1 - f3; - - y0 = -SCALE(f1 + f3, DCT_SHIFT); - y2 = -SCALE(LONG_MULT_DCT(DCTII_4_K06_FIX, f4), DCT_SHIFT); - f7 = f0 + f2; - f8 = LONG_MULT_DCT(DCTII_4_K08_FIX, f0); - f9 = LONG_MULT_DCT(DCTII_4_K09_FIX, f7); - f10 = LONG_MULT_DCT(DCTII_4_K10_FIX, f2); - y3 = -SCALE(f8 + f9, DCT_SHIFT); - y1 = -SCALE(f10 - f9, DCT_SHIFT); - - out[0] = (OI_INT16)-y2; - out[1] = (OI_INT16)-y3; - out[2] = (OI_INT16)0; - out[3] = (OI_INT16)y3; - out[4] = (OI_INT16)y2; - out[5] = (OI_INT16)y1; - out[6] = (OI_INT16)y0; - out[7] = (OI_INT16)y1; -} - -/** -@} -*/ -#endif /* #if defined(SBC_DEC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_analysis.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_analysis.c deleted file mode 100644 index 40a079ae..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_analysis.c +++ /dev/null @@ -1,1155 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * This file contains the code that performs Analysis of the input audio - * stream. - * - ******************************************************************************/ -#include "sbc_enc_func_declare.h" -#include "sbc_encoder.h" -#include -#include -// #include "osi/allocator.h" -/*#include */ -#if defined(SBC_ENC_INCLUDED) - -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == TRUE) -#define WIND_4_SUBBANDS_0_1 (SINT32)0x01659F45 /* gas32CoeffFor4SBs[8] = -gas32CoeffFor4SBs[32] = 0x01659F45 */ -#define WIND_4_SUBBANDS_0_2 (SINT32)0x115B1ED2 /* gas32CoeffFor4SBs[16] = -gas32CoeffFor4SBs[24] = 0x115B1ED2 */ -#define WIND_4_SUBBANDS_1_0 (SINT32)0x001194E6 /* gas32CoeffFor4SBs[1 et 39] = 0x001194E6 */ -#define WIND_4_SUBBANDS_1_1 (SINT32)0x029DBAA3 /* gas32CoeffFor4SBs[9 et 31] = 0x029DBAA3 */ -#define WIND_4_SUBBANDS_1_2 (SINT32)0x18F55C90 /* gas32CoeffFor4SBs[17 et 23] = 0x18F55C90 */ -#define WIND_4_SUBBANDS_1_3 (SINT32)0xF60FAF37 /* gas32CoeffFor4SBs[15 et 25] = 0xF60FAF37 */ -#define WIND_4_SUBBANDS_1_4 (SINT32)0xFF9BB9D5 /* gas32CoeffFor4SBs[7 et 33] = 0xFF9BB9D5 */ -#define WIND_4_SUBBANDS_2_0 (SINT32)0x0030E2D3 /* gas32CoeffFor4SBs[2 et 38] = 0x0030E2D3 */ -#define WIND_4_SUBBANDS_2_1 (SINT32)0x03B23341 /* gas32CoeffFor4SBs[10 et 30] = 0x03B23341 */ -#define WIND_4_SUBBANDS_2_2 (SINT32)0x1F91CA46 /* gas32CoeffFor4SBs[18 et 22] = 0x1F91CA46 */ -#define WIND_4_SUBBANDS_2_3 (SINT32)0xFC4F91D4 /* gas32CoeffFor4SBs[14 et 26] = 0xFC4F91D4 */ -#define WIND_4_SUBBANDS_2_4 (SINT32)0x003D239B /* gas32CoeffFor4SBs[6 et 34] = 0x003D239B */ -#define WIND_4_SUBBANDS_3_0 (SINT32)0x00599403 /* gas32CoeffFor4SBs[3 et 37] = 0x00599403 */ -#define WIND_4_SUBBANDS_3_1 (SINT32)0x041EEE40 /* gas32CoeffFor4SBs[11 et 29] = 0x041EEE40 */ -#define WIND_4_SUBBANDS_3_2 (SINT32)0x2412F251 /* gas32CoeffFor4SBs[19 et 21] = 0x2412F251 */ -#define WIND_4_SUBBANDS_3_3 (SINT32)0x00C8F2BC /* gas32CoeffFor4SBs[13 et 27] = 0x00C8F2BC */ -#define WIND_4_SUBBANDS_3_4 (SINT32)0x007F88E4 /* gas32CoeffFor4SBs[5 et 35] = 0x007F88E4 */ -#define WIND_4_SUBBANDS_4_0 (SINT32)0x007DBCC8 /* gas32CoeffFor4SBs[4 et 36] = 0x007DBCC8 */ -#define WIND_4_SUBBANDS_4_1 (SINT32)0x034FEE2C /* gas32CoeffFor4SBs[12 et 28] = 0x034FEE2C */ -#define WIND_4_SUBBANDS_4_2 (SINT32)0x25AC1FF2 /* gas32CoeffFor4SBs[20] = 0x25AC1FF2 */ - -#define WIND_8_SUBBANDS_0_1 (SINT32)0x00B97348 /* 16 0x00B97348 */ -#define WIND_8_SUBBANDS_0_2 (SINT32)0x08B4307A /* 32 0x08B4307A */ -#define WIND_8_SUBBANDS_1_0 (SINT32)0x00052173 /* 1 et 79 = 0x00052173 */ -#define WIND_8_SUBBANDS_1_1 (SINT32)0x01071B96 /* 17 et 63 = 0x01071B96 */ -#define WIND_8_SUBBANDS_1_2 (SINT32)0x0A9F3E9A /* 33 et 47 = 0x0A9F3E9A*/ -#define WIND_8_SUBBANDS_1_3 (SINT32)0xF9312891 /* 31 et 49 = 0xF9312891 */ -#define WIND_8_SUBBANDS_1_4 (SINT32)0xFF8D6793 /* 15 et 65 = 0xFF8D6793 */ -#define WIND_8_SUBBANDS_2_0 (SINT32)0x000B3F71 /* 2 et 78 = 0x000B3F71 */ -#define WIND_8_SUBBANDS_2_1 (SINT32)0x0156B3CA /* 18 et 62 = 0x0156B3CA */ -#define WIND_8_SUBBANDS_2_2 (SINT32)0x0C7D59B6 /* 34 et 46 = 0x0C7D59B6 */ -#define WIND_8_SUBBANDS_2_3 (SINT32)0xFAFF95FC /* 30 et 50 = 0xFAFF95FC */ -#define WIND_8_SUBBANDS_2_4 (SINT32)0xFFC9F10E /* 14 et 66 = 0xFFC9F10E */ -#define WIND_8_SUBBANDS_3_0 (SINT32)0x00122C7D /* 3 et 77 = 0x00122C7D*/ -#define WIND_8_SUBBANDS_3_1 (SINT32)0x01A1B38B /* 19 et 61 = 0x01A1B38B */ -#define WIND_8_SUBBANDS_3_2 (SINT32)0x0E3BB16F /* 35 et 45 = 0x0E3BB16F */ -#define WIND_8_SUBBANDS_3_3 (SINT32)0xFCA86E7E /* 29 et 51 = 0xFCA86E7E */ -#define WIND_8_SUBBANDS_3_4 (SINT32)0xFFFA2413 /* 13 et 67 = 0xFFFA2413 */ -#define WIND_8_SUBBANDS_4_0 (SINT32)0x001AFF89 /* 4 et 66 = 0x001AFF89 */ -#define WIND_8_SUBBANDS_4_1 (SINT32)0x01E0224C /* 20 et 60 = 0x01E0224C */ -#define WIND_8_SUBBANDS_4_2 (SINT32)0x0FC721F9 /* 36 et 44 = 0x0FC721F9 */ -#define WIND_8_SUBBANDS_4_3 (SINT32)0xFE20435D /* 28 et 52 = 0xFE20435D */ -#define WIND_8_SUBBANDS_4_4 (SINT32)0x001D8FD2 /* 12 et 68 = 0x001D8FD2 */ -#define WIND_8_SUBBANDS_5_0 (SINT32)0x00255A62 /* 5 et 75 = 0x00255A62 */ -#define WIND_8_SUBBANDS_5_1 (SINT32)0x0209291F /* 21 et 59 = 0x0209291F */ -#define WIND_8_SUBBANDS_5_2 (SINT32)0x110ECEF0 /* 37 et 43 = 0x110ECEF0 */ -#define WIND_8_SUBBANDS_5_3 (SINT32)0xFF5EEB73 /* 27 et 53 = 0xFF5EEB73 */ -#define WIND_8_SUBBANDS_5_4 (SINT32)0x0034F8B6 /* 11 et 69 = 0x0034F8B6 */ -#define WIND_8_SUBBANDS_6_0 (SINT32)0x003060F4 /* 6 et 74 = 0x003060F4 */ -#define WIND_8_SUBBANDS_6_1 (SINT32)0x02138653 /* 22 et 58 = 0x02138653 */ -#define WIND_8_SUBBANDS_6_2 (SINT32)0x120435FA /* 38 et 42 = 0x120435FA */ -#define WIND_8_SUBBANDS_6_3 (SINT32)0x005FD0FF /* 26 et 54 = 0x005FD0FF */ -#define WIND_8_SUBBANDS_6_4 (SINT32)0x00415B75 /* 10 et 70 = 0x00415B75 */ -#define WIND_8_SUBBANDS_7_0 (SINT32)0x003A72E7 /* 7 et 73 = 0x003A72E7 */ -#define WIND_8_SUBBANDS_7_1 (SINT32)0x01F5F424 /* 23 et 57 = 0x01F5F424 */ -#define WIND_8_SUBBANDS_7_2 (SINT32)0x129C226F /* 39 et 41 = 0x129C226F */ -#define WIND_8_SUBBANDS_7_3 (SINT32)0x01223EBA /* 25 et 55 = 0x01223EBA */ -#define WIND_8_SUBBANDS_7_4 (SINT32)0x0044EF48 /* 9 et 71 = 0x0044EF48 */ -#define WIND_8_SUBBANDS_8_0 (SINT32)0x0041EC6A /* 8 et 72 = 0x0041EC6A */ -#define WIND_8_SUBBANDS_8_1 (SINT32)0x01A7ECEF /* 24 et 56 = 0x01A7ECEF */ -#define WIND_8_SUBBANDS_8_2 (SINT32)0x12CF6C75 /* 40 = 0x12CF6C75 */ -#else -#define WIND_4_SUBBANDS_0_1 (SINT16)0x0166 /* gas32CoeffFor4SBs[8] = -gas32CoeffFor4SBs[32] = 0x01659F45 */ -#define WIND_4_SUBBANDS_0_2 (SINT16)0x115B /* gas32CoeffFor4SBs[16] = -gas32CoeffFor4SBs[24] = 0x115B1ED2 */ -#define WIND_4_SUBBANDS_1_0 (SINT16)0x0012 /* gas32CoeffFor4SBs[1 et 39] = 0x001194E6 */ -#define WIND_4_SUBBANDS_1_1 (SINT16)0x029E /* gas32CoeffFor4SBs[9 et 31] = 0x029DBAA3 */ -#define WIND_4_SUBBANDS_1_2 (SINT16)0x18F5 /* gas32CoeffFor4SBs[17 et 23] = 0x18F55C90 */ -#define WIND_4_SUBBANDS_1_3 (SINT16)0xF610 /* gas32CoeffFor4SBs[15 et 25] = 0xF60FAF37 */ -#define WIND_4_SUBBANDS_1_4 (SINT16)0xFF9C /* gas32CoeffFor4SBs[7 et 33] = 0xFF9BB9D5 */ -#define WIND_4_SUBBANDS_2_0 (SINT16)0x0031 /* gas32CoeffFor4SBs[2 et 38] = 0x0030E2D3 */ -#define WIND_4_SUBBANDS_2_1 (SINT16)0x03B2 /* gas32CoeffFor4SBs[10 et 30] = 0x03B23341 */ -#define WIND_4_SUBBANDS_2_2 (SINT16)0x1F91 /* gas32CoeffFor4SBs[18 et 22] = 0x1F91CA46 */ -#define WIND_4_SUBBANDS_2_3 (SINT16)0xFC50 /* gas32CoeffFor4SBs[14 et 26] = 0xFC4F91D4 */ -#define WIND_4_SUBBANDS_2_4 (SINT16)0x003D /* gas32CoeffFor4SBs[6 et 34] = 0x003D239B */ -#define WIND_4_SUBBANDS_3_0 (SINT16)0x005A /* gas32CoeffFor4SBs[3 et 37] = 0x00599403 */ -#define WIND_4_SUBBANDS_3_1 (SINT16)0x041F /* gas32CoeffFor4SBs[11 et 29] = 0x041EEE40 */ -#define WIND_4_SUBBANDS_3_2 (SINT16)0x2413 /* gas32CoeffFor4SBs[19 et 21] = 0x2412F251 */ -#define WIND_4_SUBBANDS_3_3 (SINT16)0x00C9 /* gas32CoeffFor4SBs[13 et 27] = 0x00C8F2BC */ -#define WIND_4_SUBBANDS_3_4 (SINT16)0x0080 /* gas32CoeffFor4SBs[5 et 35] = 0x007F88E4 */ -#define WIND_4_SUBBANDS_4_0 (SINT16)0x007E /* gas32CoeffFor4SBs[4 et 36] = 0x007DBCC8 */ -#define WIND_4_SUBBANDS_4_1 (SINT16)0x0350 /* gas32CoeffFor4SBs[12 et 28] = 0x034FEE2C */ -#define WIND_4_SUBBANDS_4_2 (SINT16)0x25AC /* gas32CoeffFor4SBs[20] = 25AC1FF2 */ - -#define WIND_8_SUBBANDS_0_1 (SINT16)0x00B9 /* 16 0x12CF6C75 */ -#define WIND_8_SUBBANDS_0_2 (SINT16)0x08B4 /* 32 0x08B4307A */ -#define WIND_8_SUBBANDS_1_0 (SINT16)0x0005 /* 1 et 79 = 0x00052173 */ -#define WIND_8_SUBBANDS_1_1 (SINT16)0x0107 /* 17 et 63 = 0x01071B96 */ -#define WIND_8_SUBBANDS_1_2 (SINT16)0x0A9F /* 33 et 47 = 0x0A9F3E9A*/ -#define WIND_8_SUBBANDS_1_3 (SINT16)0xF931 /* 31 et 49 = 0xF9312891 */ -#define WIND_8_SUBBANDS_1_4 (SINT16)0xFF8D /* 15 et 65 = 0xFF8D6793 */ -#define WIND_8_SUBBANDS_2_0 (SINT16)0x000B /* 2 et 78 = 0x000B3F71 */ -#define WIND_8_SUBBANDS_2_1 (SINT16)0x0157 /* 18 et 62 = 0x0156B3CA */ -#define WIND_8_SUBBANDS_2_2 (SINT16)0x0C7D /* 34 et 46 = 0x0C7D59B6 */ -#define WIND_8_SUBBANDS_2_3 (SINT16)0xFB00 /* 30 et 50 = 0xFAFF95FC */ -#define WIND_8_SUBBANDS_2_4 (SINT16)0xFFCA /* 14 et 66 = 0xFFC9F10E */ -#define WIND_8_SUBBANDS_3_0 (SINT16)0x0012 /* 3 et 77 = 0x00122C7D*/ -#define WIND_8_SUBBANDS_3_1 (SINT16)0x01A2 /* 19 et 61 = 0x01A1B38B */ -#define WIND_8_SUBBANDS_3_2 (SINT16)0x0E3C /* 35 et 45 = 0x0E3BB16F */ -#define WIND_8_SUBBANDS_3_3 (SINT16)0xFCA8 /* 29 et 51 = 0xFCA86E7E */ -#define WIND_8_SUBBANDS_3_4 (SINT16)0xFFFA /* 13 et 67 = 0xFFFA2413 */ -#define WIND_8_SUBBANDS_4_0 (SINT16)0x001B /* 4 et 66 = 0x001AFF89 */ -#define WIND_8_SUBBANDS_4_1 (SINT16)0x01E0 /* 20 et 60 = 0x01E0224C */ -#define WIND_8_SUBBANDS_4_2 (SINT16)0x0FC7 /* 36 et 44 = 0x0FC721F9 */ -#define WIND_8_SUBBANDS_4_3 (SINT16)0xFE20 /* 28 et 52 = 0xFE20435D */ -#define WIND_8_SUBBANDS_4_4 (SINT16)0x001E /* 12 et 68 = 0x001D8FD2 */ -#define WIND_8_SUBBANDS_5_0 (SINT16)0x0025 /* 5 et 75 = 0x00255A62 */ -#define WIND_8_SUBBANDS_5_1 (SINT16)0x0209 /* 21 et 59 = 0x0209291F */ -#define WIND_8_SUBBANDS_5_2 (SINT16)0x110F /* 37 et 43 = 0x110ECEF0 */ -#define WIND_8_SUBBANDS_5_3 (SINT16)0xFF5F /* 27 et 53 = 0xFF5EEB73 */ -#define WIND_8_SUBBANDS_5_4 (SINT16)0x0035 /* 11 et 69 = 0x0034F8B6 */ -#define WIND_8_SUBBANDS_6_0 (SINT16)0x0030 /* 6 et 74 = 0x003060F4 */ -#define WIND_8_SUBBANDS_6_1 (SINT16)0x0214 /* 22 et 58 = 0x02138653 */ -#define WIND_8_SUBBANDS_6_2 (SINT16)0x1204 /* 38 et 42 = 0x120435FA */ -#define WIND_8_SUBBANDS_6_3 (SINT16)0x0060 /* 26 et 54 = 0x005FD0FF */ -#define WIND_8_SUBBANDS_6_4 (SINT16)0x0041 /* 10 et 70 = 0x00415B75 */ -#define WIND_8_SUBBANDS_7_0 (SINT16)0x003A /* 7 et 73 = 0x003A72E7 */ -#define WIND_8_SUBBANDS_7_1 (SINT16)0x01F6 /* 23 et 57 = 0x01F5F424 */ -#define WIND_8_SUBBANDS_7_2 (SINT16)0x129C /* 39 et 41 = 0x129C226F */ -#define WIND_8_SUBBANDS_7_3 (SINT16)0x0122 /* 25 et 55 = 0x01223EBA */ -#define WIND_8_SUBBANDS_7_4 (SINT16)0x0045 /* 9 et 71 = 0x0044EF48 */ -#define WIND_8_SUBBANDS_8_0 (SINT16)0x0042 /* 8 et 72 = 0x0041EC6A */ -#define WIND_8_SUBBANDS_8_1 (SINT16)0x01A8 /* 24 et 56 = 0x01A7ECEF */ -#define WIND_8_SUBBANDS_8_2 (SINT16)0x12CF /* 40 = 0x12CF6C75 */ -#endif - -#if (SBC_USE_ARM_PRAGMA == TRUE) -#pragma arm section zidata = "sbc_s32_analysis_section" -#endif -#if BT_BLE_DYNAMIC_ENV_MEMORY == FALSE -static SINT32 s32DCTY[16] = {0}; -static SINT32 s32X[ENC_VX_BUFFER_SIZE / 2]; -static SINT16 *s16X = (SINT16 *)s32X; /* s16X must be 32 bits aligned cf SHIFTUP_X8_2*/ -#else -static SINT32 *s32DCTY; -static SINT32 *s32X; -static SINT16 *s16X; /* s16X must be 32 bits aligned cf SHIFTUP_X8_2*/ -#endif // BT_BLE_DYNAMIC_ENV_MEMORY == FALSE - -#if (SBC_USE_ARM_PRAGMA == TRUE) -#pragma arm section zidata -#endif - -/* This macro is for 4 subbands */ -#define SHIFTUP_X4 \ - { \ - ps32X = (SINT32 *)(s16X + EncMaxShiftCounter + 38); \ - for (i = 0; i < 9; i++) { \ - *ps32X = *(ps32X - 2 - (ShiftCounter >> 1)); \ - ps32X--; \ - *ps32X = *(ps32X - 2 - (ShiftCounter >> 1)); \ - ps32X--; \ - } \ - } -#define SHIFTUP_X4_2 \ - { \ - ps32X = (SINT32 *)(s16X + EncMaxShiftCounter + 38); \ - ps32X2 = (SINT32 *)(s16X + (EncMaxShiftCounter << 1) + 78); \ - for (i = 0; i < 9; i++) { \ - *ps32X = *(ps32X - 2 - (ShiftCounter >> 1)); \ - *(ps32X2) = *(ps32X2 - 2 - (ShiftCounter >> 1)); \ - ps32X--; \ - ps32X2--; \ - *ps32X = *(ps32X - 2 - (ShiftCounter >> 1)); \ - *(ps32X2) = *(ps32X2 - 2 - (ShiftCounter >> 1)); \ - ps32X--; \ - ps32X2--; \ - } \ - } - -/* This macro is for 8 subbands */ -#define SHIFTUP_X8 \ - { \ - ps32X = (SINT32 *)(s16X + EncMaxShiftCounter + 78); \ - for (i = 0; i < 9; i++) { \ - *ps32X = *(ps32X - 4 - (ShiftCounter >> 1)); \ - ps32X--; \ - *ps32X = *(ps32X - 4 - (ShiftCounter >> 1)); \ - ps32X--; \ - *ps32X = *(ps32X - 4 - (ShiftCounter >> 1)); \ - ps32X--; \ - *ps32X = *(ps32X - 4 - (ShiftCounter >> 1)); \ - ps32X--; \ - } \ - } -#define SHIFTUP_X8_2 \ - { \ - ps32X = (SINT32 *)(s16X + EncMaxShiftCounter + 78); \ - ps32X2 = (SINT32 *)(s16X + (EncMaxShiftCounter << 1) + 158); \ - for (i = 0; i < 9; i++) { \ - *ps32X = *(ps32X - 4 - (ShiftCounter >> 1)); \ - *(ps32X2) = *(ps32X2 - 4 - (ShiftCounter >> 1)); \ - ps32X--; \ - ps32X2--; \ - *ps32X = *(ps32X - 4 - (ShiftCounter >> 1)); \ - *(ps32X2) = *(ps32X2 - 4 - (ShiftCounter >> 1)); \ - ps32X--; \ - ps32X2--; \ - *ps32X = *(ps32X - 4 - (ShiftCounter >> 1)); \ - *(ps32X2) = *(ps32X2 - 4 - (ShiftCounter >> 1)); \ - ps32X--; \ - ps32X2--; \ - *ps32X = *(ps32X - 4 - (ShiftCounter >> 1)); \ - *(ps32X2) = *(ps32X2 - 4 - (ShiftCounter >> 1)); \ - ps32X--; \ - ps32X2--; \ - } \ - } - -#if (SBC_ARM_ASM_OPT == TRUE) -#define WINDOW_ACCU_8_0 \ - { \ - __asm {\ - MUL s32Hi,WIND_8_SUBBANDS_0_1,(s16X[ChOffset+16]-s16X[ChOffset+64]);\ - MLA s32Hi,WIND_8_SUBBANDS_0_2,(s16X[ChOffset+32]-s16X[ChOffset+48]),s32Hi;\ - MOV s32DCTY[0],s32Hi; } \ - } -#define WINDOW_ACCU_8_1_15 \ - { \ - __asm {\ - MUL s32Hi,WIND_8_SUBBANDS_1_0,s16X[ChOffset+1];\ - MUL s32Hi2,WIND_8_SUBBANDS_1_0,s16X[ChOffset+64+15];\ - MLA s32Hi,WIND_8_SUBBANDS_1_1,s16X[ChOffset+16+1],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_1_1,s16X[ChOffset+48+15],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_1_2,s16X[ChOffset+32+1],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_1_2,s16X[ChOffset+32+15],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_1_3,s16X[ChOffset+48+1],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_1_3,s16X[ChOffset+16+15],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_1_4,s16X[ChOffset+64+1],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_1_4,s16X[ChOffset+15],s32Hi2;\ - MOV s32DCTY[1],s32Hi;\ - MOV s32DCTY[15],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_8_2_14 \ - { \ - __asm {\ - MUL s32Hi,WIND_8_SUBBANDS_2_0,s16X[ChOffset+2];\ - MUL s32Hi2,WIND_8_SUBBANDS_2_0,s16X[ChOffset+64+14];\ - MLA s32Hi,WIND_8_SUBBANDS_2_1,s16X[ChOffset+16+2],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_2_1,s16X[ChOffset+48+14],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_2_2,s16X[ChOffset+32+2],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_2_2,s16X[ChOffset+32+14],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_2_3,s16X[ChOffset+48+2],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_2_3,s16X[ChOffset+16+14],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_2_4,s16X[ChOffset+64+2],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_2_4,s16X[ChOffset+14],s32Hi2;\ - MOV s32DCTY[2],s32Hi;\ - MOV s32DCTY[14],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_8_3_13 \ - { \ - __asm {\ - MUL s32Hi,WIND_8_SUBBANDS_3_0,s16X[ChOffset+3];\ - MUL s32Hi2,WIND_8_SUBBANDS_3_0,s16X[ChOffset+64+13];\ - MLA s32Hi,WIND_8_SUBBANDS_3_1,s16X[ChOffset+16+3],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_3_1,s16X[ChOffset+48+13],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_3_2,s16X[ChOffset+32+3],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_3_2,s16X[ChOffset+32+13],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_3_3,s16X[ChOffset+48+3],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_3_3,s16X[ChOffset+16+13],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_3_4,s16X[ChOffset+64+3],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_3_4,s16X[ChOffset+13],s32Hi2;\ - MOV s32DCTY[3],s32Hi;\ - MOV s32DCTY[13],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_8_4_12 \ - { \ - __asm {\ - MUL s32Hi,WIND_8_SUBBANDS_4_0,s16X[ChOffset+4];\ - MUL s32Hi2,WIND_8_SUBBANDS_4_0,s16X[ChOffset+64+12];\ - MLA s32Hi,WIND_8_SUBBANDS_4_1,s16X[ChOffset+16+4],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_4_1,s16X[ChOffset+48+12],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_4_2,s16X[ChOffset+32+4],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_4_2,s16X[ChOffset+32+12],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_4_3,s16X[ChOffset+48+4],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_4_3,s16X[ChOffset+16+12],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_4_4,s16X[ChOffset+64+4],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_4_4,s16X[ChOffset+12],s32Hi2;\ - MOV s32DCTY[4],s32Hi;\ - MOV s32DCTY[12],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_8_5_11 \ - { \ - __asm {\ - MUL s32Hi,WIND_8_SUBBANDS_5_0,s16X[ChOffset+5];\ - MUL s32Hi2,WIND_8_SUBBANDS_5_0,s16X[ChOffset+64+11];\ - MLA s32Hi,WIND_8_SUBBANDS_5_1,s16X[ChOffset+16+5],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_5_1,s16X[ChOffset+48+11],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_5_2,s16X[ChOffset+32+5],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_5_2,s16X[ChOffset+32+11],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_5_3,s16X[ChOffset+48+5],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_5_3,s16X[ChOffset+16+11],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_5_4,s16X[ChOffset+64+5],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_5_4,s16X[ChOffset+11],s32Hi2;\ - MOV s32DCTY[5],s32Hi;\ - MOV s32DCTY[11],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_8_6_10 \ - { \ - __asm {\ - MUL s32Hi,WIND_8_SUBBANDS_6_0,s16X[ChOffset+6];\ - MUL s32Hi2,WIND_8_SUBBANDS_6_0,s16X[ChOffset+64+10];\ - MLA s32Hi,WIND_8_SUBBANDS_6_1,s16X[ChOffset+16+6],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_6_1,s16X[ChOffset+48+10],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_6_2,s16X[ChOffset+32+6],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_6_2,s16X[ChOffset+32+10],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_6_3,s16X[ChOffset+48+6],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_6_3,s16X[ChOffset+16+10],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_6_4,s16X[ChOffset+64+6],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_6_4,s16X[ChOffset+10],s32Hi2;\ - MOV s32DCTY[6],s32Hi;\ - MOV s32DCTY[10],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_8_7_9 \ - { \ - __asm {\ - MUL s32Hi,WIND_8_SUBBANDS_7_0,s16X[ChOffset+7];\ - MUL s32Hi2,WIND_8_SUBBANDS_7_0,s16X[ChOffset+64+9];\ - MLA s32Hi,WIND_8_SUBBANDS_7_1,s16X[ChOffset+16+7],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_7_1,s16X[ChOffset+48+9],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_7_2,s16X[ChOffset+32+7],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_7_2,s16X[ChOffset+32+9],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_7_3,s16X[ChOffset+48+7],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_7_3,s16X[ChOffset+16+9],s32Hi2;\ - MLA s32Hi,WIND_8_SUBBANDS_7_4,s16X[ChOffset+64+7],s32Hi;\ - MLA s32Hi2,WIND_8_SUBBANDS_7_4,s16X[ChOffset+9],s32Hi2;\ - MOV s32DCTY[7],s32Hi;\ - MOV s32DCTY[9],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_8_8 \ - { \ - __asm {\ - MUL s32Hi,WIND_8_SUBBANDS_8_0,(s16X[ChOffset+8]+s16X[ChOffset+8+64]);\ - MLA s32Hi,WIND_8_SUBBANDS_8_1,(s16X[ChOffset+8+16]+s16X[ChOffset+8+64]),s32Hi;\ - MLA s32Hi,WIND_8_SUBBANDS_8_2,s16X[ChOffset+8+32],s32Hi;\ - MOV s32DCTY[8],s32Hi; \ - } \ - } -#define WINDOW_ACCU_4_0 \ - { \ - __asm {\ - MUL s32Hi,WIND_4_SUBBANDS_0_1,(s16X[ChOffset+8]-s16X[ChOffset+32]);\ - MLA s32Hi,WIND_4_SUBBANDS_0_2,(s16X[ChOffset+16]-s16X[ChOffset+24]),s32Hi;\ - MOV s32DCTY[0],s32Hi; } \ - } -#define WINDOW_ACCU_4_1_7 \ - { \ - __asm {\ - MUL s32Hi,WIND_4_SUBBANDS_1_0,s16X[ChOffset+1];\ - MUL s32Hi2,WIND_4_SUBBANDS_1_0,s16X[ChOffset+32+7];\ - MLA s32Hi,WIND_4_SUBBANDS_1_1,s16X[ChOffset+8+1],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_1_1,s16X[ChOffset+24+7],s32Hi2;\ - MLA s32Hi,WIND_4_SUBBANDS_1_2,s16X[ChOffset+16+1],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_1_2,s16X[ChOffset+16+7],s32Hi2;\ - MLA s32Hi,WIND_4_SUBBANDS_1_3,s16X[ChOffset+24+1],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_1_3,s16X[ChOffset+8+7],s32Hi2;\ - MLA s32Hi,WIND_4_SUBBANDS_1_4,s16X[ChOffset+32+1],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_1_4,s16X[ChOffset+7],s32Hi2;\ - MOV s32DCTY[1],s32Hi;\ - MOV s32DCTY[7],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_4_2_6 \ - { \ - __asm {\ - MUL s32Hi,WIND_4_SUBBANDS_2_0,s16X[ChOffset+2];\ - MUL s32Hi2,WIND_4_SUBBANDS_2_0,s16X[ChOffset+32+6];\ - MLA s32Hi,WIND_4_SUBBANDS_2_1,s16X[ChOffset+8+2],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_2_1,s16X[ChOffset+24+6],s32Hi2;\ - MLA s32Hi,WIND_4_SUBBANDS_2_2,s16X[ChOffset+16+2],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_2_2,s16X[ChOffset+16+6],s32Hi2;\ - MLA s32Hi,WIND_4_SUBBANDS_2_3,s16X[ChOffset+24+2],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_2_3,s16X[ChOffset+8+6],s32Hi2;\ - MLA s32Hi,WIND_4_SUBBANDS_2_4,s16X[ChOffset+32+2],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_2_4,s16X[ChOffset+6],s32Hi2;\ - MOV s32DCTY[2],s32Hi;\ - MOV s32DCTY[6],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_4_3_5 \ - { \ - __asm {\ - MUL s32Hi,WIND_4_SUBBANDS_3_0,s16X[ChOffset+3];\ - MUL s32Hi2,WIND_4_SUBBANDS_3_0,s16X[ChOffset+32+5];\ - MLA s32Hi,WIND_4_SUBBANDS_3_1,s16X[ChOffset+8+3],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_3_1,s16X[ChOffset+24+5],s32Hi2;\ - MLA s32Hi,WIND_4_SUBBANDS_3_2,s16X[ChOffset+16+3],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_3_2,s16X[ChOffset+16+5],s32Hi2;\ - MLA s32Hi,WIND_4_SUBBANDS_3_3,s16X[ChOffset+24+3],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_3_3,s16X[ChOffset+8+5],s32Hi2;\ - MLA s32Hi,WIND_4_SUBBANDS_3_4,s16X[ChOffset+32+3],s32Hi;\ - MLA s32Hi2,WIND_4_SUBBANDS_3_4,s16X[ChOffset+5],s32Hi2;\ - MOV s32DCTY[3],s32Hi;\ - MOV s32DCTY[5],s32Hi2; \ - } \ - } -#define WINDOW_ACCU_4_4 \ - { \ - __asm {\ - MUL s32Hi,WIND_4_SUBBANDS_4_0,(s16X[ChOffset+4]+s16X[ChOffset+4+32]);\ - MLA s32Hi,WIND_4_SUBBANDS_4_1,(s16X[ChOffset+4+8]+s16X[ChOffset+4+24]),s32Hi;\ - MLA s32Hi,WIND_4_SUBBANDS_4_2,s16X[ChOffset+4+16],s32Hi;\ - MOV s32DCTY[4],s32Hi; \ - } \ - } - -#define WINDOW_PARTIAL_4 \ - { \ - WINDOW_ACCU_4_0; \ - WINDOW_ACCU_4_1_7; \ - WINDOW_ACCU_4_2_6; \ - WINDOW_ACCU_4_3_5; \ - WINDOW_ACCU_4_4; \ - } - -#define WINDOW_PARTIAL_8 \ - { \ - WINDOW_ACCU_8_0; \ - WINDOW_ACCU_8_1_15; \ - WINDOW_ACCU_8_2_14; \ - WINDOW_ACCU_8_3_13; \ - WINDOW_ACCU_8_4_12; \ - WINDOW_ACCU_8_5_11; \ - WINDOW_ACCU_8_6_10; \ - WINDOW_ACCU_8_7_9; \ - WINDOW_ACCU_8_8; \ - } - -#else -#if (SBC_IPAQ_OPT == TRUE) - -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == TRUE) -#define WINDOW_ACCU_8_0 \ - { \ - s64Temp = (SINT64)WIND_8_SUBBANDS_0_1 * (SINT64)(s16X[ChOffset + 16] - s16X[ChOffset + 64]); \ - s64Temp += (SINT64)WIND_8_SUBBANDS_0_2 * (SINT64)(s16X[ChOffset + 32] - s16X[ChOffset + 48]); \ - s32DCTY[0] = (SINT32)(s64Temp >> 16); \ - } -#define WINDOW_ACCU_8_1_15 \ - { \ - s64Temp = (SINT64)WIND_8_SUBBANDS_1_0 * (SINT64)s16X[ChOffset + 1]; \ - s64Temp2 = (SINT64)WIND_8_SUBBANDS_1_0 * (SINT64)s16X[ChOffset + 64 + 15]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_1_1 * (SINT64)s16X[ChOffset + 16 + 1]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_1_1 * (SINT64)s16X[ChOffset + 48 + 15]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_1_2 * (SINT64)s16X[ChOffset + 32 + 1]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_1_2 * (SINT64)s16X[ChOffset + 32 + 15]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_1_3 * (SINT64)s16X[ChOffset + 48 + 1]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_1_3 * (SINT64)s16X[ChOffset + 16 + 15]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_1_4 * (SINT64)s16X[ChOffset + 64 + 1]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_1_4 * (SINT64)s16X[ChOffset + 15]; \ - s32DCTY[1] = (SINT32)(s64Temp >> 16); \ - s32DCTY[15] = (SINT32)(s64Temp2 >> 16); \ - } -#define WINDOW_ACCU_8_2_14 \ - { \ - s64Temp = (SINT64)WIND_8_SUBBANDS_2_0 * (SINT64)s16X[ChOffset + 2]; \ - s64Temp2 = (SINT64)WIND_8_SUBBANDS_2_0 * (SINT64)s16X[ChOffset + 64 + 14]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_2_1 * (SINT64)s16X[ChOffset + 16 + 2]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_2_1 * (SINT64)s16X[ChOffset + 48 + 14]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_2_2 * (SINT64)s16X[ChOffset + 32 + 2]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_2_2 * (SINT64)s16X[ChOffset + 32 + 14]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_2_3 * (SINT64)s16X[ChOffset + 48 + 2]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_2_3 * (SINT64)s16X[ChOffset + 16 + 14]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_2_4 * (SINT64)s16X[ChOffset + 64 + 2]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_2_4 * (SINT64)s16X[ChOffset + 14]; \ - s32DCTY[2] = (SINT32)(s64Temp >> 16); \ - s32DCTY[14] = (SINT32)(s64Temp2 >> 16); \ - } -#define WINDOW_ACCU_8_3_13 \ - { \ - s64Temp = (SINT64)WIND_8_SUBBANDS_3_0 * (SINT64)s16X[ChOffset + 3]; \ - s64Temp2 = (SINT64)WIND_8_SUBBANDS_3_0 * (SINT64)s16X[ChOffset + 64 + 13]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_3_1 * (SINT64)s16X[ChOffset + 16 + 3]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_3_1 * (SINT64)s16X[ChOffset + 48 + 13]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_3_2 * (SINT64)s16X[ChOffset + 32 + 3]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_3_2 * (SINT64)s16X[ChOffset + 32 + 13]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_3_3 * (SINT64)s16X[ChOffset + 48 + 3]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_3_3 * (SINT64)s16X[ChOffset + 16 + 13]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_3_4 * (SINT64)s16X[ChOffset + 64 + 3]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_3_4 * (SINT64)s16X[ChOffset + 13]; \ - s32DCTY[3] = (SINT32)(s64Temp >> 16); \ - s32DCTY[13] = (SINT32)(s64Temp2 >> 16); \ - } -#define WINDOW_ACCU_8_4_12 \ - { \ - s64Temp = (SINT64)WIND_8_SUBBANDS_4_0 * (SINT64)s16X[ChOffset + 4]; \ - s64Temp2 = (SINT64)WIND_8_SUBBANDS_4_0 * (SINT64)s16X[ChOffset + 64 + 12]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_4_1 * (SINT64)s16X[ChOffset + 16 + 4]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_4_1 * (SINT64)s16X[ChOffset + 48 + 12]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_4_2 * (SINT64)s16X[ChOffset + 32 + 4]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_4_2 * (SINT64)s16X[ChOffset + 32 + 12]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_4_3 * (SINT64)s16X[ChOffset + 48 + 4]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_4_3 * (SINT64)s16X[ChOffset + 16 + 12]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_4_4 * (SINT64)s16X[ChOffset + 64 + 4]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_4_4 * (SINT64)s16X[ChOffset + 12]; \ - s32DCTY[4] = (SINT32)(s64Temp >> 16); \ - s32DCTY[12] = (SINT32)(s64Temp2 >> 16); \ - } -#define WINDOW_ACCU_8_5_11 \ - { \ - s64Temp = (SINT64)WIND_8_SUBBANDS_5_0 * (SINT64)s16X[ChOffset + 5]; \ - s64Temp2 = (SINT64)WIND_8_SUBBANDS_5_0 * (SINT64)s16X[ChOffset + 64 + 11]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_5_1 * (SINT64)s16X[ChOffset + 16 + 5]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_5_1 * (SINT64)s16X[ChOffset + 48 + 11]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_5_2 * (SINT64)s16X[ChOffset + 32 + 5]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_5_2 * (SINT64)s16X[ChOffset + 32 + 11]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_5_3 * (SINT64)s16X[ChOffset + 48 + 5]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_5_3 * (SINT64)s16X[ChOffset + 16 + 11]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_5_4 * (SINT64)s16X[ChOffset + 64 + 5]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_5_4 * (SINT64)s16X[ChOffset + 11]; \ - s32DCTY[5] = (SINT32)(s64Temp >> 16); \ - s32DCTY[11] = (SINT32)(s64Temp2 >> 16); \ - } -#define WINDOW_ACCU_8_6_10 \ - { \ - s64Temp = (SINT64)WIND_8_SUBBANDS_6_0 * (SINT64)s16X[ChOffset + 6]; \ - s64Temp2 = (SINT64)WIND_8_SUBBANDS_6_0 * (SINT64)s16X[ChOffset + 64 + 10]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_6_1 * (SINT64)s16X[ChOffset + 16 + 6]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_6_1 * (SINT64)s16X[ChOffset + 48 + 10]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_6_2 * (SINT64)s16X[ChOffset + 32 + 6]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_6_2 * (SINT64)s16X[ChOffset + 32 + 10]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_6_3 * (SINT64)s16X[ChOffset + 48 + 6]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_6_3 * (SINT64)s16X[ChOffset + 16 + 10]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_6_4 * (SINT64)s16X[ChOffset + 64 + 6]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_6_4 * (SINT64)s16X[ChOffset + 10]; \ - s32DCTY[6] = (SINT32)(s64Temp >> 16); \ - s32DCTY[10] = (SINT32)(s64Temp2 >> 16); \ - } -#define WINDOW_ACCU_8_7_9 \ - { \ - s64Temp = (SINT64)WIND_8_SUBBANDS_7_0 * (SINT64)s16X[ChOffset + 7]; \ - s64Temp2 = (SINT64)WIND_8_SUBBANDS_7_0 * (SINT64)s16X[ChOffset + 64 + 9]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_7_1 * (SINT64)s16X[ChOffset + 16 + 7]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_7_1 * (SINT64)s16X[ChOffset + 48 + 9]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_7_2 * (SINT64)s16X[ChOffset + 32 + 7]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_7_2 * (SINT64)s16X[ChOffset + 32 + 9]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_7_3 * (SINT64)s16X[ChOffset + 48 + 7]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_7_3 * (SINT64)s16X[ChOffset + 16 + 9]; \ - s64Temp += (SINT64)WIND_8_SUBBANDS_7_4 * (SINT64)s16X[ChOffset + 64 + 7]; \ - s64Temp2 += (SINT64)WIND_8_SUBBANDS_7_4 * (SINT64)s16X[ChOffset + 9]; \ - s32DCTY[7] = (SINT32)(s64Temp >> 16); \ - s32DCTY[9] = (SINT32)(s64Temp2 >> 16); \ - } -#define WINDOW_ACCU_8_8 \ - { \ - s64Temp = (SINT64)WIND_8_SUBBANDS_8_0 * (SINT64)(s16X[ChOffset + 8] + s16X[ChOffset + 64 + 8]); \ - s64Temp += (SINT64)WIND_8_SUBBANDS_8_1 * (SINT64)(s16X[ChOffset + 16 + 8] + s16X[ChOffset + 48 + 8]); \ - s64Temp += (SINT64)WIND_8_SUBBANDS_8_2 * (SINT64)s16X[ChOffset + 32 + 8]; \ - s32DCTY[8] = (SINT32)(s64Temp >> 16); \ - } -#define WINDOW_ACCU_4_0 \ - { \ - s64Temp = (SINT64)WIND_4_SUBBANDS_0_1 * (SINT64)(s16X[ChOffset + 8] - s16X[ChOffset + 32]); \ - s64Temp += (SINT64)WIND_4_SUBBANDS_0_2 * (SINT64)(s16X[ChOffset + 16] - s16X[ChOffset + 24]); \ - s32DCTY[0] = (SINT32)(s64Temp >> 16); \ - } -#define WINDOW_ACCU_4_1_7 \ - { \ - s64Temp = (SINT64)WIND_4_SUBBANDS_1_0 * (SINT64)s16X[ChOffset + 1]; \ - s64Temp2 = (SINT64)WIND_4_SUBBANDS_1_0 * (SINT64)s16X[ChOffset + 32 + 7]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_1_1 * (SINT64)s16X[ChOffset + 8 + 1]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_1_1 * (SINT64)s16X[ChOffset + 24 + 7]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_1_2 * (SINT64)s16X[ChOffset + 16 + 1]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_1_2 * (SINT64)s16X[ChOffset + 16 + 7]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_1_3 * (SINT64)s16X[ChOffset + 24 + 1]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_1_3 * (SINT64)s16X[ChOffset + 8 + 7]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_1_4 * (SINT64)s16X[ChOffset + 32 + 1]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_1_4 * (SINT64)s16X[ChOffset + 7]; \ - s32DCTY[1] = (SINT32)(s64Temp >> 16); \ - s32DCTY[7] = (SINT32)(s64Temp2 >> 16); \ - } -#define WINDOW_ACCU_4_2_6 \ - { \ - s64Temp = (SINT64)WIND_4_SUBBANDS_2_0 * (SINT64)s16X[ChOffset + 2]; \ - s64Temp2 = (SINT64)WIND_4_SUBBANDS_2_0 * (SINT64)s16X[ChOffset + 32 + 6]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_2_1 * (SINT64)s16X[ChOffset + 8 + 2]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_2_1 * (SINT64)s16X[ChOffset + 24 + 6]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_2_2 * (SINT64)s16X[ChOffset + 16 + 2]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_2_2 * (SINT64)s16X[ChOffset + 16 + 6]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_2_3 * (SINT64)s16X[ChOffset + 24 + 2]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_2_3 * (SINT64)s16X[ChOffset + 8 + 6]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_2_4 * (SINT64)s16X[ChOffset + 32 + 2]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_2_4 * (SINT64)s16X[ChOffset + 6]; \ - s32DCTY[2] = (SINT32)(s64Temp >> 16); \ - s32DCTY[6] = (SINT32)(s64Temp2 >> 16); \ - } -#define WINDOW_ACCU_4_3_5 \ - { \ - s64Temp = (SINT64)WIND_4_SUBBANDS_3_0 * (SINT64)s16X[ChOffset + 3]; \ - s64Temp2 = (SINT64)WIND_4_SUBBANDS_3_0 * (SINT64)s16X[ChOffset + 32 + 5]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_3_1 * (SINT64)s16X[ChOffset + 8 + 3]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_3_1 * (SINT64)s16X[ChOffset + 24 + 5]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_3_2 * (SINT64)s16X[ChOffset + 16 + 3]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_3_2 * (SINT64)s16X[ChOffset + 16 + 5]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_3_3 * (SINT64)s16X[ChOffset + 24 + 3]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_3_3 * (SINT64)s16X[ChOffset + 8 + 5]; \ - s64Temp += (SINT64)WIND_4_SUBBANDS_3_4 * (SINT64)s16X[ChOffset + 32 + 3]; \ - s64Temp2 += (SINT64)WIND_4_SUBBANDS_3_4 * (SINT64)s16X[ChOffset + 5]; \ - s32DCTY[3] = (SINT32)(s64Temp >> 16); \ - s32DCTY[5] = (SINT32)(s64Temp2 >> 16); \ - } - -#define WINDOW_ACCU_4_4 \ - { \ - s64Temp = (SINT64)WIND_4_SUBBANDS_4_0 * (SINT64)(s16X[ChOffset + 4] + s16X[ChOffset + 4 + 32]); \ - s64Temp += (SINT64)WIND_4_SUBBANDS_4_1 * (SINT64)(s16X[ChOffset + 4 + 8] + s16X[ChOffset + 4 + 24]); \ - s64Temp += (SINT64)WIND_4_SUBBANDS_4_2 * (SINT64)s16X[ChOffset + 4 + 16]; \ - s32DCTY[4] = (SINT32)(s64Temp >> 16); \ - } -#else /* SBC_IS_64_MULT_IN_WINDOW_ACCU == FALSE */ -#define WINDOW_ACCU_8_0 \ - { \ - s32Temp = (SINT32)WIND_8_SUBBANDS_0_1 * (SINT32)(s16X[ChOffset + 16] - s16X[ChOffset + 64]); \ - s32Temp += (SINT32)WIND_8_SUBBANDS_0_2 * (SINT32)(s16X[ChOffset + 32] - s16X[ChOffset + 48]); \ - s32DCTY[0] = (SINT32)s32Temp; \ - } -#define WINDOW_ACCU_8_1_15 \ - { \ - s32Temp = (SINT32)WIND_8_SUBBANDS_1_0 * (SINT32)s16X[ChOffset + 1]; \ - s32Temp2 = (SINT32)WIND_8_SUBBANDS_1_0 * (SINT32)s16X[ChOffset + 64 + 15]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_1_1 * (SINT32)s16X[ChOffset + 16 + 1]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_1_1 * (SINT32)s16X[ChOffset + 48 + 15]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_1_2 * (SINT32)s16X[ChOffset + 32 + 1]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_1_2 * (SINT32)s16X[ChOffset + 32 + 15]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_1_3 * (SINT32)s16X[ChOffset + 48 + 1]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_1_3 * (SINT32)s16X[ChOffset + 16 + 15]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_1_4 * (SINT32)s16X[ChOffset + 64 + 1]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_1_4 * (SINT32)s16X[ChOffset + 15]; \ - s32DCTY[1] = (SINT32)s32Temp; \ - s32DCTY[15] = (SINT32)s32Temp2; \ - } -#define WINDOW_ACCU_8_2_14 \ - { \ - s32Temp = (SINT32)WIND_8_SUBBANDS_2_0 * (SINT32)s16X[ChOffset + 2]; \ - s32Temp2 = (SINT32)WIND_8_SUBBANDS_2_0 * (SINT32)s16X[ChOffset + 64 + 14]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_2_1 * (SINT32)s16X[ChOffset + 16 + 2]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_2_1 * (SINT32)s16X[ChOffset + 48 + 14]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_2_2 * (SINT32)s16X[ChOffset + 32 + 2]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_2_2 * (SINT32)s16X[ChOffset + 32 + 14]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_2_3 * (SINT32)s16X[ChOffset + 48 + 2]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_2_3 * (SINT32)s16X[ChOffset + 16 + 14]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_2_4 * (SINT32)s16X[ChOffset + 64 + 2]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_2_4 * (SINT32)s16X[ChOffset + 14]; \ - s32DCTY[2] = (SINT32)s32Temp; \ - s32DCTY[14] = (SINT32)s32Temp2; \ - } -#define WINDOW_ACCU_8_3_13 \ - { \ - s32Temp = (SINT32)WIND_8_SUBBANDS_3_0 * (SINT32)s16X[ChOffset + 3]; \ - s32Temp2 = (SINT32)WIND_8_SUBBANDS_3_0 * (SINT32)s16X[ChOffset + 64 + 13]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_3_1 * (SINT32)s16X[ChOffset + 16 + 3]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_3_1 * (SINT32)s16X[ChOffset + 48 + 13]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_3_2 * (SINT32)s16X[ChOffset + 32 + 3]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_3_2 * (SINT32)s16X[ChOffset + 32 + 13]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_3_3 * (SINT32)s16X[ChOffset + 48 + 3]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_3_3 * (SINT32)s16X[ChOffset + 16 + 13]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_3_4 * (SINT32)s16X[ChOffset + 64 + 3]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_3_4 * (SINT32)s16X[ChOffset + 13]; \ - s32DCTY[3] = (SINT32)s32Temp; \ - s32DCTY[13] = (SINT32)s32Temp2; \ - } -#define WINDOW_ACCU_8_4_12 \ - { \ - s32Temp = (SINT32)WIND_8_SUBBANDS_4_0 * (SINT32)s16X[ChOffset + 4]; \ - s32Temp2 = (SINT32)WIND_8_SUBBANDS_4_0 * (SINT32)s16X[ChOffset + 64 + 12]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_4_1 * (SINT32)s16X[ChOffset + 16 + 4]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_4_1 * (SINT32)s16X[ChOffset + 48 + 12]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_4_2 * (SINT32)s16X[ChOffset + 32 + 4]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_4_2 * (SINT32)s16X[ChOffset + 32 + 12]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_4_3 * (SINT32)s16X[ChOffset + 48 + 4]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_4_3 * (SINT32)s16X[ChOffset + 16 + 12]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_4_4 * (SINT32)s16X[ChOffset + 64 + 4]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_4_4 * (SINT32)s16X[ChOffset + 12]; \ - s32DCTY[4] = (SINT32)s32Temp; \ - s32DCTY[12] = (SINT32)s32Temp2; \ - } -#define WINDOW_ACCU_8_5_11 \ - { \ - s32Temp = (SINT32)WIND_8_SUBBANDS_5_0 * (SINT32)s16X[ChOffset + 5]; \ - s32Temp2 = (SINT32)WIND_8_SUBBANDS_5_0 * (SINT32)s16X[ChOffset + 64 + 11]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_5_1 * (SINT32)s16X[ChOffset + 16 + 5]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_5_1 * (SINT32)s16X[ChOffset + 48 + 11]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_5_2 * (SINT32)s16X[ChOffset + 32 + 5]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_5_2 * (SINT32)s16X[ChOffset + 32 + 11]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_5_3 * (SINT32)s16X[ChOffset + 48 + 5]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_5_3 * (SINT32)s16X[ChOffset + 16 + 11]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_5_4 * (SINT32)s16X[ChOffset + 64 + 5]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_5_4 * (SINT32)s16X[ChOffset + 11]; \ - s32DCTY[5] = (SINT32)s32Temp; \ - s32DCTY[11] = (SINT32)s32Temp2; \ - } -#define WINDOW_ACCU_8_6_10 \ - { \ - s32Temp = (SINT32)WIND_8_SUBBANDS_6_0 * (SINT32)s16X[ChOffset + 6]; \ - s32Temp2 = (SINT32)WIND_8_SUBBANDS_6_0 * (SINT32)s16X[ChOffset + 64 + 10]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_6_1 * (SINT32)s16X[ChOffset + 16 + 6]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_6_1 * (SINT32)s16X[ChOffset + 48 + 10]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_6_2 * (SINT32)s16X[ChOffset + 32 + 6]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_6_2 * (SINT32)s16X[ChOffset + 32 + 10]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_6_3 * (SINT32)s16X[ChOffset + 48 + 6]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_6_3 * (SINT32)s16X[ChOffset + 16 + 10]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_6_4 * (SINT32)s16X[ChOffset + 64 + 6]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_6_4 * (SINT32)s16X[ChOffset + 10]; \ - s32DCTY[6] = (SINT32)s32Temp; \ - s32DCTY[10] = (SINT32)s32Temp2; \ - } -#define WINDOW_ACCU_8_7_9 \ - { \ - s32Temp = (SINT32)WIND_8_SUBBANDS_7_0 * (SINT32)s16X[ChOffset + 7]; \ - s32Temp2 = (SINT32)WIND_8_SUBBANDS_7_0 * (SINT32)s16X[ChOffset + 64 + 9]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_7_1 * (SINT32)s16X[ChOffset + 16 + 7]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_7_1 * (SINT32)s16X[ChOffset + 48 + 9]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_7_2 * (SINT32)s16X[ChOffset + 32 + 7]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_7_2 * (SINT32)s16X[ChOffset + 32 + 9]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_7_3 * (SINT32)s16X[ChOffset + 48 + 7]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_7_3 * (SINT32)s16X[ChOffset + 16 + 9]; \ - s32Temp += (SINT32)WIND_8_SUBBANDS_7_4 * (SINT32)s16X[ChOffset + 64 + 7]; \ - s32Temp2 += (SINT32)WIND_8_SUBBANDS_7_4 * (SINT32)s16X[ChOffset + 9]; \ - s32DCTY[7] = (SINT32)s32Temp; \ - s32DCTY[9] = (SINT32)s32Temp2; \ - } -#define WINDOW_ACCU_8_8 \ - { \ - s32Temp = (SINT32)WIND_8_SUBBANDS_8_0 * (SINT32)(s16X[ChOffset + 8] + s16X[ChOffset + 64 + 8]); \ - s32Temp += (SINT32)WIND_8_SUBBANDS_8_1 * (SINT32)(s16X[ChOffset + 16 + 8] + s16X[ChOffset + 48 + 8]); \ - s32Temp += (SINT32)WIND_8_SUBBANDS_8_2 * (SINT32)s16X[ChOffset + 32 + 8]; \ - s32DCTY[8] = (SINT32)s32Temp; \ - } -#define WINDOW_ACCU_4_0 \ - { \ - s32Temp = (SINT32)WIND_4_SUBBANDS_0_1 * (SINT32)(s16X[ChOffset + 8] - s16X[ChOffset + 32]); \ - s32Temp += (SINT32)WIND_4_SUBBANDS_0_2 * (SINT32)(s16X[ChOffset + 16] - s16X[ChOffset + 24]); \ - s32DCTY[0] = (SINT32)(s32Temp); \ - } -#define WINDOW_ACCU_4_1_7 \ - { \ - s32Temp = (SINT32)WIND_4_SUBBANDS_1_0 * (SINT32)s16X[ChOffset + 1]; \ - s32Temp2 = (SINT32)WIND_4_SUBBANDS_1_0 * (SINT32)s16X[ChOffset + 32 + 7]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_1_1 * (SINT32)s16X[ChOffset + 8 + 1]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_1_1 * (SINT32)s16X[ChOffset + 24 + 7]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_1_2 * (SINT32)s16X[ChOffset + 16 + 1]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_1_2 * (SINT32)s16X[ChOffset + 16 + 7]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_1_3 * (SINT32)s16X[ChOffset + 24 + 1]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_1_3 * (SINT32)s16X[ChOffset + 8 + 7]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_1_4 * (SINT32)s16X[ChOffset + 32 + 1]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_1_4 * (SINT32)s16X[ChOffset + 7]; \ - s32DCTY[1] = (SINT32)(s32Temp); \ - s32DCTY[7] = (SINT32)(s32Temp2); \ - } -#define WINDOW_ACCU_4_2_6 \ - { \ - s32Temp = (SINT32)WIND_4_SUBBANDS_2_0 * (SINT32)s16X[ChOffset + 2]; \ - s32Temp2 = (SINT32)WIND_4_SUBBANDS_2_0 * (SINT32)s16X[ChOffset + 32 + 6]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_2_1 * (SINT32)s16X[ChOffset + 8 + 2]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_2_1 * (SINT32)s16X[ChOffset + 24 + 6]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_2_2 * (SINT32)s16X[ChOffset + 16 + 2]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_2_2 * (SINT32)s16X[ChOffset + 16 + 6]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_2_3 * (SINT32)s16X[ChOffset + 24 + 2]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_2_3 * (SINT32)s16X[ChOffset + 8 + 6]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_2_4 * (SINT32)s16X[ChOffset + 32 + 2]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_2_4 * (SINT32)s16X[ChOffset + 6]; \ - s32DCTY[2] = (SINT32)(s32Temp); \ - s32DCTY[6] = (SINT32)(s32Temp2); \ - } -#define WINDOW_ACCU_4_3_5 \ - { \ - s32Temp = (SINT32)WIND_4_SUBBANDS_3_0 * (SINT32)s16X[ChOffset + 3]; \ - s32Temp2 = (SINT32)WIND_4_SUBBANDS_3_0 * (SINT32)s16X[ChOffset + 32 + 5]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_3_1 * (SINT32)s16X[ChOffset + 8 + 3]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_3_1 * (SINT32)s16X[ChOffset + 24 + 5]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_3_2 * (SINT32)s16X[ChOffset + 16 + 3]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_3_2 * (SINT32)s16X[ChOffset + 16 + 5]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_3_3 * (SINT32)s16X[ChOffset + 24 + 3]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_3_3 * (SINT32)s16X[ChOffset + 8 + 5]; \ - s32Temp += (SINT32)WIND_4_SUBBANDS_3_4 * (SINT32)s16X[ChOffset + 32 + 3]; \ - s32Temp2 += (SINT32)WIND_4_SUBBANDS_3_4 * (SINT32)s16X[ChOffset + 5]; \ - s32DCTY[3] = (SINT32)(s32Temp); \ - s32DCTY[5] = (SINT32)(s32Temp2); \ - } - -#define WINDOW_ACCU_4_4 \ - { \ - s32Temp = (SINT32)WIND_4_SUBBANDS_4_0 * (SINT32)(s16X[ChOffset + 4] + s16X[ChOffset + 4 + 32]); \ - s32Temp += (SINT32)WIND_4_SUBBANDS_4_1 * (SINT32)(s16X[ChOffset + 4 + 8] + s16X[ChOffset + 4 + 24]); \ - s32Temp += (SINT32)WIND_4_SUBBANDS_4_2 * (SINT32)s16X[ChOffset + 4 + 16]; \ - s32DCTY[4] = (SINT32)(s32Temp); \ - } -#endif -#define WINDOW_PARTIAL_4 \ - { \ - WINDOW_ACCU_4_0; \ - WINDOW_ACCU_4_1_7; \ - WINDOW_ACCU_4_2_6; \ - WINDOW_ACCU_4_3_5; \ - WINDOW_ACCU_4_4; \ - } - -#define WINDOW_PARTIAL_8 \ - { \ - WINDOW_ACCU_8_0; \ - WINDOW_ACCU_8_1_15; \ - WINDOW_ACCU_8_2_14; \ - WINDOW_ACCU_8_3_13; \ - WINDOW_ACCU_8_4_12; \ - WINDOW_ACCU_8_5_11; \ - WINDOW_ACCU_8_6_10; \ - WINDOW_ACCU_8_7_9; \ - WINDOW_ACCU_8_8; \ - } -#else -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == TRUE) -#define WINDOW_ACCU_4(i) \ - { \ - s64Temp = ((SINT64)gas32CoeffFor4SBs[i] * (SINT64)s16X[ChOffset + i]); \ - s64Temp += ((SINT64)gas32CoeffFor4SBs[(i + 8)] * (SINT64)s16X[ChOffset + i + 8]); \ - s64Temp += ((SINT64)gas32CoeffFor4SBs[(i + 16)] * (SINT64)s16X[ChOffset + i + 16]); \ - s64Temp += ((SINT64)gas32CoeffFor4SBs[(i + 24)] * (SINT64)s16X[ChOffset + i + 24]); \ - s64Temp += ((SINT64)gas32CoeffFor4SBs[(i + 32)] * (SINT64)s16X[ChOffset + i + 32]); \ - s32DCTY[i] = (SINT32)(s64Temp >> 16); \ - /*BT_WARN("s32DCTY4: 0x%x \n", s32DCTY[i]);*/ \ - } -#else -#define WINDOW_ACCU_4(i) \ - { \ - s32DCTY[i] = (gas32CoeffFor4SBs[i * 2] * s16X[ChOffset + i]) + (((SINT32)(UINT16)(gas32CoeffFor4SBs[(i * 2) + 1]) * s16X[ChOffset + i]) >> 16); \ - s32DCTY[i] += (gas32CoeffFor4SBs[(i + 8) * 2] * s16X[ChOffset + i + 8]) + (((SINT32)(UINT16)(gas32CoeffFor4SBs[((i + 8) * 2) + 1]) * s16X[ChOffset + i + 8]) >> 16); \ - s32DCTY[i] += (gas32CoeffFor4SBs[(i + 16) * 2] * s16X[ChOffset + i + 16]) + (((SINT32)(UINT16)(gas32CoeffFor4SBs[((i + 16) * 2) + 1]) * s16X[ChOffset + i + 16]) >> 16); \ - s32DCTY[i] += (gas32CoeffFor4SBs[(i + 24) * 2] * s16X[ChOffset + i + 24]) + (((SINT32)(UINT16)(gas32CoeffFor4SBs[((i + 24) * 2) + 1]) * s16X[ChOffset + i + 24]) >> 16); \ - s32DCTY[i] += (gas32CoeffFor4SBs[(i + 32) * 2] * s16X[ChOffset + i + 32]) + (((SINT32)(UINT16)(gas32CoeffFor4SBs[((i + 32) * 2) + 1]) * s16X[ChOffset + i + 32]) >> 16); \ - } -#endif -#define WINDOW_PARTIAL_4 \ - { \ - WINDOW_ACCU_4(0); \ - WINDOW_ACCU_4(1); \ - WINDOW_ACCU_4(2); \ - WINDOW_ACCU_4(3); \ - WINDOW_ACCU_4(4); \ - WINDOW_ACCU_4(5); \ - WINDOW_ACCU_4(6); \ - WINDOW_ACCU_4(7); \ - } - -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == TRUE) -#define WINDOW_ACCU_8(i) \ - { \ - s64Temp = ((((SINT64)gas32CoeffFor8SBs[i] * (SINT64)s16X[ChOffset + i]))); \ - s64Temp += ((((SINT64)gas32CoeffFor8SBs[(i + 16)] * (SINT64)s16X[ChOffset + i + 16]))); \ - s64Temp += ((((SINT64)gas32CoeffFor8SBs[(i + 32)] * (SINT64)s16X[ChOffset + i + 32]))); \ - s64Temp += ((((SINT64)gas32CoeffFor8SBs[(i + 48)] * (SINT64)s16X[ChOffset + i + 48]))); \ - s64Temp += ((((SINT64)gas32CoeffFor8SBs[(i + 64)] * (SINT64)s16X[ChOffset + i + 64]))); \ - /*BT_WARN("s32DCTY8: %d= 0x%x * %d\n", s32DCTY[i], gas32CoeffFor8SBs[i], s16X[ChOffset+i]);*/ \ - s32DCTY[i] = (SINT32)(s64Temp >> 16); \ - } -#else -#define WINDOW_ACCU_8(i) \ - { \ - s32DCTY[i] = (gas32CoeffFor8SBs[i * 2] * s16X[ChOffset + i]) + (((SINT32)(UINT16)(gas32CoeffFor8SBs[(i * 2) + 1]) * s16X[ChOffset + i]) >> 16); \ - s32DCTY[i] += (gas32CoeffFor8SBs[(i + 16) * 2] * s16X[ChOffset + i + 16]) + (((SINT32)(UINT16)(gas32CoeffFor8SBs[((i + 16) * 2) + 1]) * s16X[ChOffset + i + 16]) >> 16); \ - s32DCTY[i] += (gas32CoeffFor8SBs[(i + 32) * 2] * s16X[ChOffset + i + 32]) + (((SINT32)(UINT16)(gas32CoeffFor8SBs[((i + 32) * 2) + 1]) * s16X[ChOffset + i + 32]) >> 16); \ - s32DCTY[i] += (gas32CoeffFor8SBs[(i + 48) * 2] * s16X[ChOffset + i + 48]) + (((SINT32)(UINT16)(gas32CoeffFor8SBs[((i + 48) * 2) + 1]) * s16X[ChOffset + i + 48]) >> 16); \ - s32DCTY[i] += (gas32CoeffFor8SBs[(i + 64) * 2] * s16X[ChOffset + i + 64]) + (((SINT32)(UINT16)(gas32CoeffFor8SBs[((i + 64) * 2) + 1]) * s16X[ChOffset + i + 64]) >> 16); \ - /*BT_WARN("s32DCTY8: %d = 0x%4x%4x * %d\n", s32DCTY[i], gas32CoeffFor8SBs[i * 2], (gas32CoeffFor8SBs[(i * 2) + 1]), s16X[ChOffset+i]);*/ \ - /*s32DCTY[i]=(SINT32)(s64Temp>>16);*/ \ - } -#endif -#define WINDOW_PARTIAL_8 \ - { \ - WINDOW_ACCU_8(0); \ - WINDOW_ACCU_8(1); \ - WINDOW_ACCU_8(2); \ - WINDOW_ACCU_8(3); \ - WINDOW_ACCU_8(4); \ - WINDOW_ACCU_8(5); \ - WINDOW_ACCU_8(6); \ - WINDOW_ACCU_8(7); \ - WINDOW_ACCU_8(8); \ - WINDOW_ACCU_8(9); \ - WINDOW_ACCU_8(10); \ - WINDOW_ACCU_8(11); \ - WINDOW_ACCU_8(12); \ - WINDOW_ACCU_8(13); \ - WINDOW_ACCU_8(14); \ - WINDOW_ACCU_8(15); \ - } -#endif -#endif - -static SINT16 ShiftCounter = 0; -extern SINT16 EncMaxShiftCounter; -/**************************************************************************** - * SbcAnalysisFilter - performs Analysis of the input audio stream - * - * RETURNS : N/A - */ -void SbcAnalysisFilter4(SBC_ENC_PARAMS *pstrEncParams) { - SINT16 *ps16PcmBuf; - SINT32 *ps32SbBuf; - SINT32 s32Blk, s32Ch; - SINT32 s32NumOfChannels, s32NumOfBlocks; - SINT32 i, *ps32X, *ps32X2; - SINT32 Offset, Offset2, ChOffset; -#if (SBC_ARM_ASM_OPT == TRUE) - register SINT32 s32Hi, s32Hi2; -#else -#if (SBC_IPAQ_OPT == TRUE) -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == TRUE) - register SINT64 s64Temp, s64Temp2; -#else - register SINT32 s32Temp, s32Temp2; -#endif -#else - -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == TRUE) - SINT64 s64Temp; -#endif - -#endif -#endif - - s32NumOfChannels = pstrEncParams->s16NumOfChannels; - s32NumOfBlocks = pstrEncParams->s16NumOfBlocks; - - ps16PcmBuf = pstrEncParams->ps16NextPcmBuffer; - - ps32SbBuf = pstrEncParams->s32SbBuffer; - Offset2 = (SINT32)(EncMaxShiftCounter + 40); - for (s32Blk = 0; s32Blk < s32NumOfBlocks; s32Blk++) { - Offset = (SINT32)(EncMaxShiftCounter - ShiftCounter); - /* Store new samples */ - if (s32NumOfChannels == 1) { - s16X[3 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[2 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[1 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[0 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - } else { - s16X[3 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 3 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[2 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 2 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[1 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 1 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[0 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 0 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - } - for (s32Ch = 0; s32Ch < s32NumOfChannels; s32Ch++) { - ChOffset = s32Ch * Offset2 + Offset; - - WINDOW_PARTIAL_4 - - SBC_FastIDCT4(s32DCTY, ps32SbBuf); - - ps32SbBuf += SUB_BANDS_4; - } - if (s32NumOfChannels == 1) { - if (ShiftCounter >= EncMaxShiftCounter) { - SHIFTUP_X4; - ShiftCounter = 0; - } else { - ShiftCounter += SUB_BANDS_4; - } - } else { - if (ShiftCounter >= EncMaxShiftCounter) { - SHIFTUP_X4_2; - ShiftCounter = 0; - } else { - ShiftCounter += SUB_BANDS_4; - } - } - } -} - -/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */ -void SbcAnalysisFilter8(SBC_ENC_PARAMS *pstrEncParams) { - SINT16 *ps16PcmBuf; - SINT32 *ps32SbBuf; - SINT32 s32Blk, s32Ch; /* counter for block*/ - SINT32 Offset, Offset2; - SINT32 s32NumOfChannels, s32NumOfBlocks; - SINT32 i, *ps32X, *ps32X2; - SINT32 ChOffset; -#if (SBC_ARM_ASM_OPT == TRUE) - register SINT32 s32Hi, s32Hi2; -#else -#if (SBC_IPAQ_OPT == TRUE) -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == TRUE) - register SINT64 s64Temp, s64Temp2; -#else - register SINT32 s32Temp, s32Temp2; -#endif -#else -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == TRUE) - SINT64 s64Temp; -#endif -#endif -#endif - - s32NumOfChannels = pstrEncParams->s16NumOfChannels; - s32NumOfBlocks = pstrEncParams->s16NumOfBlocks; - - ps16PcmBuf = pstrEncParams->ps16NextPcmBuffer; - - ps32SbBuf = pstrEncParams->s32SbBuffer; - Offset2 = (SINT32)(EncMaxShiftCounter + 80); - for (s32Blk = 0; s32Blk < s32NumOfBlocks; s32Blk++) { - Offset = (SINT32)(EncMaxShiftCounter - ShiftCounter); - /* Store new samples */ - if (s32NumOfChannels == 1) { - s16X[7 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[6 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[5 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[4 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[3 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[2 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[1 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[0 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - } else { - s16X[7 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 7 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[6 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 6 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[5 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 5 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[4 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 4 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[3 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 3 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[2 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 2 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[1 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 1 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[0 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - s16X[Offset2 + 0 + Offset] = *ps16PcmBuf; - ps16PcmBuf++; - } - for (s32Ch = 0; s32Ch < s32NumOfChannels; s32Ch++) { - ChOffset = s32Ch * Offset2 + Offset; - - WINDOW_PARTIAL_8 - - SBC_FastIDCT8(s32DCTY, ps32SbBuf); - - ps32SbBuf += SUB_BANDS_8; - } - if (s32NumOfChannels == 1) { - if (ShiftCounter >= EncMaxShiftCounter) { - SHIFTUP_X8; - ShiftCounter = 0; - } else { - ShiftCounter += SUB_BANDS_8; - } - } else { - if (ShiftCounter >= EncMaxShiftCounter) { - SHIFTUP_X8_2; - ShiftCounter = 0; - } else { - ShiftCounter += SUB_BANDS_8; - } - } - } -} - -void SbcAnalysisInit(void) { - static bool loaded = false; - if (!loaded) { - loaded = true; -#if BT_BLE_DYNAMIC_ENV_MEMORY == TRUE - s32X = (SINT32 *)osi_malloc(sizeof(SINT32) * (ENC_VX_BUFFER_SIZE / 2)); - s32DCTY = (SINT32 *)osi_malloc(sizeof(SINT32) * 16); - assert(s32X); - assert(s32DCTY); - memset(s32X, 0, sizeof(SINT16) * ENC_VX_BUFFER_SIZE); - memset(s32DCTY, 0, sizeof(SINT32) * 16); - s16X = (SINT16 *)s32X; -#endif - } - memset(s16X, 0, ENC_VX_BUFFER_SIZE * sizeof(SINT16)); - ShiftCounter = 0; -} - -#endif /* #if defined(SBC_ENC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct.c deleted file mode 100644 index 22011a84..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct.c +++ /dev/null @@ -1,239 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * source file for fast dct operations - * - ******************************************************************************/ -#include "sbc_dct.h" -#include "sbc_enc_func_declare.h" -#include "sbc_encoder.h" - -#if defined(SBC_ENC_INCLUDED) - -/******************************************************************************* -** -** Function SBC_FastIDCT8 -** -** Description implementation of fast DCT algorithm by Feig and Winograd -** -** -** Returns y = dct(pInVect) -** -** -*******************************************************************************/ - -#if (SBC_IS_64_MULT_IN_IDCT == FALSE) -#define SBC_COS_PI_SUR_4 (0x00005a82) /* ((0x8000) * 0.7071) = cos(pi/4) */ -#define SBC_COS_PI_SUR_8 (0x00007641) /* ((0x8000) * 0.9239) = (cos(pi/8)) */ -#define SBC_COS_3PI_SUR_8 (0x000030fb) /* ((0x8000) * 0.3827) = (cos(3*pi/8)) */ -#define SBC_COS_PI_SUR_16 (0x00007d8a) /* ((0x8000) * 0.9808)) = (cos(pi/16)) */ -#define SBC_COS_3PI_SUR_16 (0x00006a6d) /* ((0x8000) * 0.8315)) = (cos(3*pi/16)) */ -#define SBC_COS_5PI_SUR_16 (0x0000471c) /* ((0x8000) * 0.5556)) = (cos(5*pi/16)) */ -#define SBC_COS_7PI_SUR_16 (0x000018f8) /* ((0x8000) * 0.1951)) = (cos(7*pi/16)) */ -#define SBC_IDCT_MULT(a, b, c) SBC_MULT_32_16_SIMPLIFIED(a, b, c) -#else -#define SBC_COS_PI_SUR_4 (0x5A827999) /* ((0x80000000) * 0.707106781) = (cos(pi/4) ) */ -#define SBC_COS_PI_SUR_8 (0x7641AF3C) /* ((0x80000000) * 0.923879533) = (cos(pi/8) ) */ -#define SBC_COS_3PI_SUR_8 (0x30FBC54D) /* ((0x80000000) * 0.382683432) = (cos(3*pi/8) ) */ -#define SBC_COS_PI_SUR_16 (0x7D8A5F3F) /* ((0x80000000) * 0.98078528 )) = (cos(pi/16) ) */ -#define SBC_COS_3PI_SUR_16 (0x6A6D98A4) /* ((0x80000000) * 0.831469612)) = (cos(3*pi/16)) */ -#define SBC_COS_5PI_SUR_16 (0x471CECE6) /* ((0x80000000) * 0.555570233)) = (cos(5*pi/16)) */ -#define SBC_COS_7PI_SUR_16 (0x18F8B83C) /* ((0x80000000) * 0.195090322)) = (cos(7*pi/16)) */ -#define SBC_IDCT_MULT(a, b, c) SBC_MULT_32_32(a, b, c) -#endif /* SBC_IS_64_MULT_IN_IDCT */ - -#if (SBC_FAST_DCT == FALSE) -extern const SINT16 gas16AnalDCTcoeff8[]; -extern const SINT16 gas16AnalDCTcoeff4[]; -#endif - -void SBC_FastIDCT8(SINT32 *pInVect, SINT32 *pOutVect) { -#if (SBC_FAST_DCT == TRUE) -#if (SBC_ARM_ASM_OPT == TRUE) -#else -#if (SBC_IPAQ_OPT == TRUE) -#if (SBC_IS_64_MULT_IN_IDCT == TRUE) - SINT64 s64Temp; -#endif -#else -#if (SBC_IS_64_MULT_IN_IDCT == TRUE) - SINT32 s32HiTemp; -#else - SINT32 s32In2Temp; - register SINT32 s32In1Temp; -#endif -#endif -#endif - - register SINT32 x0, x1, x2, x3, x4, x5, x6, x7, temp; - SINT32 res_even[4], res_odd[4]; - /*x0= (pInVect[4])/2 ;*/ - SBC_IDCT_MULT(SBC_COS_PI_SUR_4, pInVect[4], x0); - /*BT_WARN("x0 0x%x = %d = %d * %d\n", x0, x0, SBC_COS_PI_SUR_4, pInVect[4]);*/ - - x1 = (pInVect[3] + pInVect[5]) >> 1; - x2 = (pInVect[2] + pInVect[6]) >> 1; - x3 = (pInVect[1] + pInVect[7]) >> 1; - x4 = (pInVect[0] + pInVect[8]) >> 1; - x5 = (pInVect[9] - pInVect[15]) >> 1; - x6 = (pInVect[10] - pInVect[14]) >> 1; - x7 = (pInVect[11] - pInVect[13]) >> 1; - - /* 2-point IDCT of x0 and x4 as in (11) */ - temp = x0; - SBC_IDCT_MULT(SBC_COS_PI_SUR_4, (x0 + x4), x0); /*x0 = ( x0 + x4 ) * cos(1*pi/4) ; */ - SBC_IDCT_MULT(SBC_COS_PI_SUR_4, (temp - x4), x4); /*x4 = ( temp - x4 ) * cos(1*pi/4) ; */ - - /* rearrangement of x2 and x6 as in (15) */ - x2 -= x6; - x6 <<= 1; - - /* 2-point IDCT of x2 and x6 and post-multiplication as in (15) */ - SBC_IDCT_MULT(SBC_COS_PI_SUR_4, x6, x6); /*x6 = x6 * cos(1*pi/4) ; */ - temp = x2; - SBC_IDCT_MULT(SBC_COS_PI_SUR_8, (x2 + x6), x2); /*x2 = ( x2 + x6 ) * cos(1*pi/8) ; */ - SBC_IDCT_MULT(SBC_COS_3PI_SUR_8, (temp - x6), x6); /*x6 = ( temp - x6 ) * cos(3*pi/8) ;*/ - - /* 4-point IDCT of x0,x2,x4 and x6 as in (11) */ - res_even[0] = x0 + x2; - res_even[1] = x4 + x6; - res_even[2] = x4 - x6; - res_even[3] = x0 - x2; - - /* rearrangement of x1,x3,x5,x7 as in (15) */ - x7 <<= 1; - x5 = (x5 << 1) - x7; - x3 = (x3 << 1) - x5; - x1 -= x3 >> 1; - - /* two-dimensional IDCT of x1 and x5 */ - SBC_IDCT_MULT(SBC_COS_PI_SUR_4, x5, x5); /*x5 = x5 * cos(1*pi/4) ; */ - temp = x1; - x1 = x1 + x5; - x5 = temp - x5; - - /* rearrangement of x3 and x7 as in (15) */ - x3 -= x7; - x7 <<= 1; - SBC_IDCT_MULT(SBC_COS_PI_SUR_4, x7, x7); /*x7 = x7 * cos(1*pi/4) ; */ - - /* 2-point IDCT of x3 and x7 and post-multiplication as in (15) */ - temp = x3; - SBC_IDCT_MULT(SBC_COS_PI_SUR_8, (x3 + x7), x3); /*x3 = ( x3 + x7 ) * cos(1*pi/8) ; */ - SBC_IDCT_MULT(SBC_COS_3PI_SUR_8, (temp - x7), x7); /*x7 = ( temp - x7 ) * cos(3*pi/8) ;*/ - - /* 4-point IDCT of x1,x3,x5 and x7 and post multiplication by diagonal matrix as in (14) */ - SBC_IDCT_MULT((SBC_COS_PI_SUR_16), (x1 + x3), res_odd[0]); /*res_odd[ 0 ] = ( x1 + x3 ) * cos(1*pi/16) ; */ - SBC_IDCT_MULT((SBC_COS_3PI_SUR_16), (x5 + x7), res_odd[1]); /*res_odd[ 1 ] = ( x5 + x7 ) * cos(3*pi/16) ; */ - SBC_IDCT_MULT((SBC_COS_5PI_SUR_16), (x5 - x7), res_odd[2]); /*res_odd[ 2 ] = ( x5 - x7 ) * cos(5*pi/16) ; */ - SBC_IDCT_MULT((SBC_COS_7PI_SUR_16), (x1 - x3), res_odd[3]); /*res_odd[ 3 ] = ( x1 - x3 ) * cos(7*pi/16) ; */ - - /* additions and subtractions as in (9) */ - pOutVect[0] = (res_even[0] + res_odd[0]); - pOutVect[1] = (res_even[1] + res_odd[1]); - pOutVect[2] = (res_even[2] + res_odd[2]); - pOutVect[3] = (res_even[3] + res_odd[3]); - pOutVect[7] = (res_even[0] - res_odd[0]); - pOutVect[6] = (res_even[1] - res_odd[1]); - pOutVect[5] = (res_even[2] - res_odd[2]); - pOutVect[4] = (res_even[3] - res_odd[3]); -#else - UINT8 Index, k; - SINT32 temp; - /*Calculate 4 subband samples by matrixing*/ - for (Index = 0; Index < 8; Index++) { - temp = 0; - for (k = 0; k < 16; k++) { - /*temp += (SINT32)(((SINT64)M[(Index*strEncParams->numOfSubBands*2)+k] * Y[k]) >> 16 );*/ - temp += (gas16AnalDCTcoeff8[(Index * 8 * 2) + k] * (pInVect[k] >> 16)); - temp += ((gas16AnalDCTcoeff8[(Index * 8 * 2) + k] * (pInVect[k] & 0xFFFF)) >> 16); - } - pOutVect[Index] = temp; - } -#endif - /* BT_WARN("pOutVect: 0x%x;0x%x;0x%x;0x%x;0x%x;0x%x;0x%x;0x%x\n",\ - pOutVect[0],pOutVect[1],pOutVect[2],pOutVect[3],pOutVect[4],pOutVect[5],pOutVect[6],pOutVect[7]);*/ -} - -/******************************************************************************* -** -** Function SBC_FastIDCT4 -** -** Description implementation of fast DCT algorithm by Feig and Winograd -** -** -** Returns y = dct(x0) -** -** -*******************************************************************************/ -void SBC_FastIDCT4(SINT32 *pInVect, SINT32 *pOutVect) { -#if (SBC_FAST_DCT == TRUE) -#if (SBC_ARM_ASM_OPT == TRUE) -#else -#if (SBC_IPAQ_OPT == TRUE) -#if (SBC_IS_64_MULT_IN_IDCT == TRUE) - SINT64 s64Temp; -#endif -#else -#if (SBC_IS_64_MULT_IN_IDCT == TRUE) - SINT32 s32HiTemp; -#else - UINT16 s32In2Temp; - SINT32 s32In1Temp; -#endif -#endif -#endif - SINT32 temp, x2; - SINT32 tmp[8]; - - x2 = pInVect[2] >> 1; - temp = (pInVect[0] + pInVect[4]); - SBC_IDCT_MULT((SBC_COS_PI_SUR_4 >> 1), temp, tmp[0]); - tmp[1] = x2 - tmp[0]; - tmp[0] += x2; - temp = (pInVect[1] + pInVect[3]); - SBC_IDCT_MULT((SBC_COS_3PI_SUR_8 >> 1), temp, tmp[3]); - SBC_IDCT_MULT((SBC_COS_PI_SUR_8 >> 1), temp, tmp[2]); - temp = (pInVect[5] - pInVect[7]); - SBC_IDCT_MULT((SBC_COS_3PI_SUR_8 >> 1), temp, tmp[5]); - SBC_IDCT_MULT((SBC_COS_PI_SUR_8 >> 1), temp, tmp[4]); - tmp[6] = tmp[2] + tmp[5]; - tmp[7] = tmp[3] - tmp[4]; - pOutVect[0] = (tmp[0] + tmp[6]); - pOutVect[1] = (tmp[1] + tmp[7]); - pOutVect[2] = (tmp[1] - tmp[7]); - pOutVect[3] = (tmp[0] - tmp[6]); -#else - UINT8 Index, k; - SINT32 temp; - /*Calculate 4 subband samples by matrixing*/ - for (Index = 0; Index < 4; Index++) { - temp = 0; - for (k = 0; k < 8; k++) { - /*temp += (SINT32)(((SINT64)M[(Index*strEncParams->numOfSubBands*2)+k] * Y[k]) >> 16 ); */ - temp += (gas16AnalDCTcoeff4[(Index * 4 * 2) + k] * (pInVect[k] >> 16)); - temp += ((gas16AnalDCTcoeff4[(Index * 4 * 2) + k] * (pInVect[k] & 0xFFFF)) >> 16); - } - pOutVect[Index] = temp; - } -#endif -} - -#endif /* #if defined(SBC_ENC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct.h deleted file mode 100644 index 78671b35..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct.h +++ /dev/null @@ -1,87 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * Definitions for the fast DCT. - * - ******************************************************************************/ - -#ifndef SBC_DCT_H -#define SBC_DCT_H - -#if (SBC_ARM_ASM_OPT == TRUE) -#define SBC_MULT_32_16_SIMPLIFIED(s16In2, s32In1, s32OutLow) \ - { \ - __asm { \ - MUL s32OutLow,(SINT32)s16In2, (s32In1>>15) \ - } \ - } -#else -#if (SBC_DSP_OPT == TRUE) -#define SBC_MULT_32_16_SIMPLIFIED(s16In2, s32In1, s32OutLow) s32OutLow = SBC_Multiply_32_16_Simplified((SINT32)s16In2, s32In1); -#else -#if (SBC_IPAQ_OPT == TRUE) -/*#define SBC_MULT_32_16_SIMPLIFIED(s16In2, s32In1 , s32OutLow) s32OutLow=(SINT32)((SINT32)(s16In2)*(SINT32)(s32In1>>15)); */ -#define SBC_MULT_32_16_SIMPLIFIED(s16In2, s32In1, s32OutLow) s32OutLow = (SINT32)(((SINT64)s16In2 * (SINT64)s32In1) >> 15); -#if (SBC_IS_64_MULT_IN_IDCT == TRUE) -#define SBC_MULT_32_32(s32In2, s32In1, s32OutLow) \ - { \ - s64Temp = ((SINT64)s32In2) * ((SINT64)s32In1) >> 31; \ - s32OutLow = (SINT32)s64Temp; \ - } -#endif -#else -#define SBC_MULT_32_16_SIMPLIFIED(s16In2, s32In1, s32OutLow) \ - { \ - s32In1Temp = s32In1; \ - s32In2Temp = (SINT32)s16In2; \ - \ - /* Multiply one +ve and the other -ve number */ \ - if (s32In1Temp < 0) { \ - s32In1Temp ^= 0xFFFFFFFF; \ - s32In1Temp++; \ - s32OutLow = (s32In2Temp * (s32In1Temp >> 16)); \ - s32OutLow += ((s32In2Temp * (s32In1Temp & 0xFFFF)) >> 16); \ - s32OutLow ^= 0xFFFFFFFF; \ - s32OutLow++; \ - } else { \ - s32OutLow = (s32In2Temp * (s32In1Temp >> 16)); \ - s32OutLow += ((s32In2Temp * (s32In1Temp & 0xFFFF)) >> 16); \ - } \ - s32OutLow <<= 1; \ - } -#if (SBC_IS_64_MULT_IN_IDCT == TRUE) -#define SBC_MULT_64(s32In1, s32In2, s32OutLow, s32OutHi) \ - { \ - s32OutLow = (SINT32)(((SINT64)s32In1 * (SINT64)s32In2) & 0x00000000FFFFFFFF); \ - s32OutHi = (SINT32)(((SINT64)s32In1 * (SINT64)s32In2) >> 32); \ - } -#define SBC_MULT_32_32(s32In2, s32In1, s32OutLow) \ - { \ - s32HiTemp = 0; \ - SBC_MULT_64(s32In2, s32In1, s32OutLow, s32HiTemp); \ - s32OutLow = (((s32OutLow >> 15) & 0x1FFFF) | (s32HiTemp << 17)); \ - } -#endif - -#endif -#endif -#endif - -#endif diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct_coeffs.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct_coeffs.c deleted file mode 100644 index 2cec78cf..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_dct_coeffs.c +++ /dev/null @@ -1,67 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * This file contains the coefficient table used for DCT computation in - * analysis. - * - ******************************************************************************/ - -#include "sbc_encoder.h" - -#if defined(SBC_ENC_INCLUDED) - -/*DCT coeff for 4 sub-band case.*/ -#if (SBC_FAST_DCT == FALSE) -const SINT16 gas16AnalDCTcoeff4[] = {(SINT16)(0.7071 * 32768), (SINT16)(0.9239 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(0.9239 * 32768), - (SINT16)(0.7071 * 32768), (SINT16)(0.3827 * 32768), (SINT16)(0.0000 * 32768), (SINT16)(-0.3827 * 32768), - - (SINT16)(-0.7071 * 32768), (SINT16)(0.3827 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(0.3827 * 32768), - (SINT16)(-0.7071 * 32768), (SINT16)(-0.9239 * 32768), (SINT16)(-0.0000 * 32768), (SINT16)(0.9239 * 32768), - - (SINT16)(-0.7071 * 32768), (SINT16)(-0.3827 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(-0.3827 * 32768), - (SINT16)(-0.7071 * 32768), (SINT16)(0.9239 * 32768), (SINT16)(0.0000 * 32768), (SINT16)(-0.9239 * 32768), - - (SINT16)(0.7071 * 32768), (SINT16)(-0.9239 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(-0.9239 * 32768), - (SINT16)(0.7071 * 32768), (SINT16)(-0.3827 * 32768), (SINT16)(-0.0000 * 32768), (SINT16)(0.3827 * 32768)}; - -/*DCT coeff for 8 sub-band case.*/ -const SINT16 gas16AnalDCTcoeff8[] = { - (SINT16)(0.7071 * 32768), (SINT16)(0.8315 * 32768), (SINT16)(0.9239 * 32768), (SINT16)(0.9808 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(0.9808 * 32768), (SINT16)(0.9239 * 32768), - (SINT16)(0.8315 * 32768), (SINT16)(0.7071 * 32768), (SINT16)(0.5556 * 32768), (SINT16)(0.3827 * 32768), (SINT16)(0.1951 * 32768), (SINT16)(0.0000 * 32768), (SINT16)(-0.1951 * 32768), - (SINT16)(-0.3827 * 32768), (SINT16)(-0.5556 * 32768), (SINT16)(-0.7071 * 32768), (SINT16)(-0.1951 * 32768), (SINT16)(0.3827 * 32768), (SINT16)(0.8315 * 32768), (SINT16)(1.0000 * 32767), - (SINT16)(0.8315 * 32768), (SINT16)(0.3827 * 32768), (SINT16)(-0.1951 * 32768), (SINT16)(-0.7071 * 32768), (SINT16)(-0.9808 * 32768), (SINT16)(-0.9239 * 32768), (SINT16)(-0.5556 * 32768), - (SINT16)(-0.0000 * 32768), (SINT16)(0.5556 * 32768), (SINT16)(0.9239 * 32768), (SINT16)(0.9808 * 32768), (SINT16)(-0.7071 * 32768), (SINT16)(-0.9808 * 32768), (SINT16)(-0.3827 * 32768), - (SINT16)(0.5556 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(0.5556 * 32768), (SINT16)(-0.3827 * 32768), (SINT16)(-0.9808 * 32768), (SINT16)(-0.7071 * 32768), (SINT16)(0.1951 * 32768), - (SINT16)(0.9239 * 32768), (SINT16)(0.8315 * 32768), (SINT16)(0.0000 * 32768), (SINT16)(-0.8315 * 32768), (SINT16)(-0.9239 * 32768), (SINT16)(-0.1951 * 32768), (SINT16)(0.7071 * 32768), - (SINT16)(-0.5556 * 32768), (SINT16)(-0.9239 * 32768), (SINT16)(0.1951 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(0.1951 * 32768), (SINT16)(-0.9239 * 32768), (SINT16)(-0.5556 * 32768), - (SINT16)(0.7071 * 32768), (SINT16)(0.8315 * 32768), (SINT16)(-0.3827 * 32768), (SINT16)(-0.9808 * 32768), (SINT16)(-0.0000 * 32768), (SINT16)(0.9808 * 32768), (SINT16)(0.3827 * 32768), - (SINT16)(-0.8315 * 32768), (SINT16)(0.7071 * 32768), (SINT16)(0.5556 * 32768), (SINT16)(-0.9239 * 32768), (SINT16)(-0.1951 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(-0.1951 * 32768), - (SINT16)(-0.9239 * 32768), (SINT16)(0.5556 * 32768), (SINT16)(0.7071 * 32768), (SINT16)(-0.8315 * 32768), (SINT16)(-0.3827 * 32768), (SINT16)(0.9808 * 32768), (SINT16)(0.0000 * 32768), - (SINT16)(-0.9808 * 32768), (SINT16)(0.3827 * 32768), (SINT16)(0.8315 * 32768), (SINT16)(-0.7071 * 32768), (SINT16)(0.9808 * 32768), (SINT16)(-0.3827 * 32768), (SINT16)(-0.5556 * 32768), - (SINT16)(1.0000 * 32767), (SINT16)(-0.5556 * 32768), (SINT16)(-0.3827 * 32768), (SINT16)(0.9808 * 32768), (SINT16)(-0.7071 * 32768), (SINT16)(-0.1951 * 32768), (SINT16)(0.9239 * 32768), - (SINT16)(-0.8315 * 32768), (SINT16)(-0.0000 * 32768), (SINT16)(0.8315 * 32768), (SINT16)(-0.9239 * 32768), (SINT16)(0.1951 * 32768), (SINT16)(-0.7071 * 32768), (SINT16)(0.1951 * 32768), - (SINT16)(0.3827 * 32768), (SINT16)(-0.8315 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(-0.8315 * 32768), (SINT16)(0.3827 * 32768), (SINT16)(0.1951 * 32768), (SINT16)(-0.7071 * 32768), - (SINT16)(0.9808 * 32768), (SINT16)(-0.9239 * 32768), (SINT16)(0.5556 * 32768), (SINT16)(-0.0000 * 32768), (SINT16)(-0.5556 * 32768), (SINT16)(0.9239 * 32768), (SINT16)(-0.9808 * 32768), - (SINT16)(0.7071 * 32768), (SINT16)(-0.8315 * 32768), (SINT16)(0.9239 * 32768), (SINT16)(-0.9808 * 32768), (SINT16)(1.0000 * 32767), (SINT16)(-0.9808 * 32768), (SINT16)(0.9239 * 32768), - (SINT16)(-0.8315 * 32768), (SINT16)(0.7071 * 32768), (SINT16)(-0.5556 * 32768), (SINT16)(0.3827 * 32768), (SINT16)(-0.1951 * 32768), (SINT16)(-0.0000 * 32768), (SINT16)(0.1951 * 32768), - (SINT16)(-0.3827 * 32768), (SINT16)(0.5556 * 32768)}; -#endif - -#endif /* #if defined(SBC_ENC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_bit_alloc_mono.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_bit_alloc_mono.c deleted file mode 100644 index 6d42695d..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_bit_alloc_mono.c +++ /dev/null @@ -1,183 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * This file contains the code for bit allocation algorithm. It calculates - * the number of bits required for the encoded stream of data. - * - ******************************************************************************/ - -/*Includes*/ -#include "sbc_enc_func_declare.h" -#include "sbc_encoder.h" - -#if defined(SBC_ENC_INCLUDED) - -/*global arrays*/ -const SINT16 sbc_enc_as16Offset4[4][4] = { - {-1, 0, 0, 0}, - {-2, 0, 0, 1}, - {-2, 0, 0, 1}, - {-2, 0, 0, 1} -}; -const SINT16 sbc_enc_as16Offset8[4][8] = { - {-2, 0, 0, 0, 0, 0, 0, 1}, - {-3, 0, 0, 0, 0, 0, 1, 2}, - {-4, 0, 0, 0, 0, 0, 1, 2}, - {-4, 0, 0, 0, 0, 0, 1, 2} -}; - -/**************************************************************************** - * BitAlloc - Calculates the required number of bits for the given scale factor - * and the number of subbands. - * - * RETURNS : N/A - */ - -void sbc_enc_bit_alloc_mono(SBC_ENC_PARAMS *pstrCodecParams) { - SINT32 s32MaxBitNeed; /*to store the max bits needed per sb*/ - SINT32 s32BitCount; /*the used number of bits*/ - SINT32 s32SliceCount; /*to store hwo many slices can be put in bitpool*/ - SINT32 s32BitSlice; /*number of bitslices in bitpool*/ - SINT32 s32Sb; /*counter for sub-band*/ - SINT32 s32Ch; /*counter for channel*/ - SINT16 *ps16BitNeed; /*temp memory to store required number of bits*/ - SINT32 s32Loudness; /*used in Loudness calculation*/ - SINT16 *ps16GenBufPtr; - SINT16 *ps16GenArrPtr; - SINT16 *ps16GenTabPtr; - SINT32 s32NumOfSubBands = pstrCodecParams->s16NumOfSubBands; - - ps16BitNeed = pstrCodecParams->s16ScartchMemForBitAlloc; - - for (s32Ch = 0; s32Ch < pstrCodecParams->s16NumOfChannels; s32Ch++) { - ps16GenBufPtr = ps16BitNeed + s32Ch * s32NumOfSubBands; - ps16GenArrPtr = pstrCodecParams->as16Bits + s32Ch * SBC_MAX_NUM_OF_SUBBANDS; - - /* bitneed values are derived from scale factor */ - if (pstrCodecParams->s16AllocationMethod == SBC_SNR) { - ps16BitNeed = pstrCodecParams->as16ScaleFactor; - ps16GenBufPtr = ps16BitNeed + s32Ch * s32NumOfSubBands; - } else { - ps16GenBufPtr = ps16BitNeed + s32Ch * s32NumOfSubBands; - if (s32NumOfSubBands == 4) { - ps16GenTabPtr = (SINT16 *)sbc_enc_as16Offset4[pstrCodecParams->s16SamplingFreq]; - } else { - ps16GenTabPtr = (SINT16 *)sbc_enc_as16Offset8[pstrCodecParams->s16SamplingFreq]; - } - for (s32Sb = 0; s32Sb < s32NumOfSubBands; s32Sb++) { - if (pstrCodecParams->as16ScaleFactor[s32Ch * s32NumOfSubBands + s32Sb] == 0) { - *(ps16GenBufPtr) = -5; - } else { - s32Loudness = (SINT32)(pstrCodecParams->as16ScaleFactor[s32Ch * s32NumOfSubBands + s32Sb] - *ps16GenTabPtr); - if (s32Loudness > 0) { - *(ps16GenBufPtr) = (SINT16)(s32Loudness >> 1); - } else { - *(ps16GenBufPtr) = (SINT16)s32Loudness; - } - } - ps16GenBufPtr++; - ps16GenTabPtr++; - } - } - - /* max bitneed index is searched*/ - s32MaxBitNeed = 0; - ps16GenBufPtr = ps16BitNeed + s32Ch * s32NumOfSubBands; - for (s32Sb = 0; s32Sb < s32NumOfSubBands; s32Sb++) { - if (*(ps16GenBufPtr) > s32MaxBitNeed) { - s32MaxBitNeed = *(ps16GenBufPtr); - } - - ps16GenBufPtr++; - } - ps16GenBufPtr = ps16BitNeed + s32Ch * s32NumOfSubBands; - /*iterative process to find hwo many bitslices fit into the bitpool*/ - s32BitSlice = s32MaxBitNeed + 1; - s32BitCount = pstrCodecParams->s16BitPool; - s32SliceCount = 0; - do { - s32BitSlice--; - s32BitCount -= s32SliceCount; - s32SliceCount = 0; - - for (s32Sb = 0; s32Sb < s32NumOfSubBands; s32Sb++) { - if ((((*ps16GenBufPtr - s32BitSlice) < 16) && (*ps16GenBufPtr - s32BitSlice) >= 1)) { - if ((*ps16GenBufPtr - s32BitSlice) == 1) { - s32SliceCount += 2; - } else { - s32SliceCount++; - } - } - ps16GenBufPtr++; - - } /*end of for*/ - ps16GenBufPtr = ps16BitNeed + s32Ch * s32NumOfSubBands; - } while (s32BitCount - s32SliceCount > 0); - - if (s32BitCount == 0) { - s32BitCount -= s32SliceCount; - s32BitSlice--; - } - - /*Bits are distributed until the last bitslice is reached*/ - ps16GenArrPtr = pstrCodecParams->as16Bits + s32Ch * s32NumOfSubBands; - ps16GenBufPtr = ps16BitNeed + s32Ch * s32NumOfSubBands; - for (s32Sb = 0; s32Sb < s32NumOfSubBands; s32Sb++) { - if (*(ps16GenBufPtr) < s32BitSlice + 2) { - *(ps16GenArrPtr) = 0; - } else { - *(ps16GenArrPtr) = ((*(ps16GenBufPtr)-s32BitSlice) < 16) ? (SINT16)(*(ps16GenBufPtr)-s32BitSlice) : 16; - } - - ps16GenBufPtr++; - ps16GenArrPtr++; - } - ps16GenArrPtr = pstrCodecParams->as16Bits + s32Ch * s32NumOfSubBands; - ps16GenBufPtr = ps16BitNeed + s32Ch * s32NumOfSubBands; - /*the remaining bits are allocated starting at subband 0*/ - s32Sb = 0; - while ((s32BitCount > 0) && (s32Sb < s32NumOfSubBands)) { - if ((*(ps16GenArrPtr) >= 2) && (*(ps16GenArrPtr) < 16)) { - (*(ps16GenArrPtr))++; - s32BitCount--; - } else if ((*(ps16GenBufPtr) == s32BitSlice + 1) && (s32BitCount > 1)) { - *(ps16GenArrPtr) = 2; - s32BitCount -= 2; - } - s32Sb++; - ps16GenArrPtr++; - ps16GenBufPtr++; - } - ps16GenArrPtr = pstrCodecParams->as16Bits + s32Ch * s32NumOfSubBands; - - s32Sb = 0; - while ((s32BitCount > 0) && (s32Sb < s32NumOfSubBands)) { - if (*(ps16GenArrPtr) < 16) { - (*(ps16GenArrPtr))++; - s32BitCount--; - } - s32Sb++; - ps16GenArrPtr++; - } - } -} -/*End of BitAlloc() function*/ - -#endif /* #if defined(SBC_ENC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_bit_alloc_ste.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_bit_alloc_ste.c deleted file mode 100644 index a5997923..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_bit_alloc_ste.c +++ /dev/null @@ -1,190 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * This file contains the code for bit allocation algorithm. It calculates - * the number of bits required for the encoded stream of data. - * - ******************************************************************************/ - -/*Includes*/ -#include "sbc_enc_func_declare.h" -#include "sbc_encoder.h" - -#if defined(SBC_ENC_INCLUDED) - -/*global arrays*/ -extern const SINT16 sbc_enc_as16Offset4[4][4]; -extern const SINT16 sbc_enc_as16Offset8[4][8]; - -/**************************************************************************** - * BitAlloc - Calculates the required number of bits for the given scale factor - * and the number of subbands. - * - * RETURNS : N/A - */ - -void sbc_enc_bit_alloc_ste(SBC_ENC_PARAMS *pstrCodecParams) { - /* CAUTIOM -> mips optim for arm 32 require to use SINT32 instead of SINT16 */ - /* Do not change variable type or name */ - SINT32 s32MaxBitNeed; /*to store the max bits needed per sb*/ - SINT32 s32BitCount; /*the used number of bits*/ - SINT32 s32SliceCount; /*to store hwo many slices can be put in bitpool*/ - SINT32 s32BitSlice; /*number of bitslices in bitpool*/ - SINT32 s32Sb; /*counter for sub-band*/ - SINT32 s32Ch; /*counter for channel*/ - SINT16 *ps16BitNeed; /*temp memory to store required number of bits*/ - SINT32 s32Loudness; /*used in Loudness calculation*/ - SINT16 *ps16GenBufPtr, *pas16ScaleFactor; - SINT16 *ps16GenArrPtr; - SINT16 *ps16GenTabPtr; - SINT32 s32NumOfSubBands = pstrCodecParams->s16NumOfSubBands; - SINT32 s32BitPool = pstrCodecParams->s16BitPool; - - /* bitneed values are derived from scale factor */ - if (pstrCodecParams->s16AllocationMethod == SBC_SNR) { - ps16BitNeed = pstrCodecParams->as16ScaleFactor; - s32MaxBitNeed = pstrCodecParams->s16MaxBitNeed; - } else { - ps16BitNeed = pstrCodecParams->s16ScartchMemForBitAlloc; - pas16ScaleFactor = pstrCodecParams->as16ScaleFactor; - s32MaxBitNeed = 0; - ps16GenBufPtr = ps16BitNeed; - for (s32Ch = 0; s32Ch < 2; s32Ch++) { - if (s32NumOfSubBands == 4) { - ps16GenTabPtr = (SINT16 *)sbc_enc_as16Offset4[pstrCodecParams->s16SamplingFreq]; - } else { - ps16GenTabPtr = (SINT16 *)sbc_enc_as16Offset8[pstrCodecParams->s16SamplingFreq]; - } - - for (s32Sb = 0; s32Sb < s32NumOfSubBands; s32Sb++) { - if (*pas16ScaleFactor == 0) { - *ps16GenBufPtr = -5; - } else { - s32Loudness = (SINT32)(*pas16ScaleFactor - *ps16GenTabPtr); - - if (s32Loudness > 0) { - *ps16GenBufPtr = (SINT16)(s32Loudness >> 1); - } else { - *ps16GenBufPtr = (SINT16)s32Loudness; - } - } - - if (*ps16GenBufPtr > s32MaxBitNeed) { - s32MaxBitNeed = *ps16GenBufPtr; - } - pas16ScaleFactor++; - ps16GenBufPtr++; - ps16GenTabPtr++; - } - } - } - - /* iterative process to find out hwo many bitslices fit into the bitpool */ - s32BitSlice = s32MaxBitNeed + 1; - s32BitCount = s32BitPool; - s32SliceCount = 0; - do { - s32BitSlice--; - s32BitCount -= s32SliceCount; - s32SliceCount = 0; - ps16GenBufPtr = ps16BitNeed; - - for (s32Sb = 0; s32Sb < 2 * s32NumOfSubBands; s32Sb++) { - if ((*ps16GenBufPtr >= s32BitSlice + 1) && (*ps16GenBufPtr < s32BitSlice + 16)) { - if (*(ps16GenBufPtr) == s32BitSlice + 1) { - s32SliceCount += 2; - } else { - s32SliceCount++; - } - } - ps16GenBufPtr++; - } - } while (s32BitCount - s32SliceCount > 0); - - if (s32BitCount - s32SliceCount == 0) { - s32BitCount -= s32SliceCount; - s32BitSlice--; - } - - /* Bits are distributed until the last bitslice is reached */ - ps16GenBufPtr = ps16BitNeed; - ps16GenArrPtr = pstrCodecParams->as16Bits; - for (s32Ch = 0; s32Ch < 2; s32Ch++) { - for (s32Sb = 0; s32Sb < s32NumOfSubBands; s32Sb++) { - if (*ps16GenBufPtr < s32BitSlice + 2) { - *ps16GenArrPtr = 0; - } else { - *ps16GenArrPtr = ((*(ps16GenBufPtr)-s32BitSlice) < 16) ? (SINT16)(*(ps16GenBufPtr)-s32BitSlice) : 16; - } - ps16GenBufPtr++; - ps16GenArrPtr++; - } - } - - /* the remaining bits are allocated starting at subband 0 */ - s32Ch = 0; - s32Sb = 0; - ps16GenBufPtr = ps16BitNeed; - ps16GenArrPtr -= 2 * s32NumOfSubBands; - - while ((s32BitCount > 0) && (s32Sb < s32NumOfSubBands)) { - if ((*(ps16GenArrPtr) >= 2) && (*(ps16GenArrPtr) < 16)) { - (*(ps16GenArrPtr))++; - s32BitCount--; - } else if ((*ps16GenBufPtr == s32BitSlice + 1) && (s32BitCount > 1)) { - *(ps16GenArrPtr) = 2; - s32BitCount -= 2; - } - if (s32Ch == 1) { - s32Ch = 0; - s32Sb++; - ps16GenBufPtr = ps16BitNeed + s32Sb; - ps16GenArrPtr = pstrCodecParams->as16Bits + s32Sb; - - } else { - s32Ch = 1; - ps16GenBufPtr = ps16BitNeed + s32NumOfSubBands + s32Sb; - ps16GenArrPtr = pstrCodecParams->as16Bits + s32NumOfSubBands + s32Sb; - } - } - - s32Ch = 0; - s32Sb = 0; - ps16GenArrPtr = pstrCodecParams->as16Bits; - - while ((s32BitCount > 0) && (s32Sb < s32NumOfSubBands)) { - if (*(ps16GenArrPtr) < 16) { - (*(ps16GenArrPtr))++; - s32BitCount--; - } - if (s32Ch == 1) { - s32Ch = 0; - s32Sb++; - ps16GenArrPtr = pstrCodecParams->as16Bits + s32Sb; - } else { - s32Ch = 1; - ps16GenArrPtr = pstrCodecParams->as16Bits + s32NumOfSubBands + s32Sb; - } - } -} - -/*End of BitAlloc() function*/ - -#endif /* #if defined(SBC_ENC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_coeffs.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_coeffs.c deleted file mode 100644 index 77f75384..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_coeffs.c +++ /dev/null @@ -1,150 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * This file contains the Windowing coeffs for synthesis filter - * - ******************************************************************************/ - -#include "sbc_encoder.h" - -#if defined(SBC_ENC_INCLUDED) - -#if (SBC_ARM_ASM_OPT == FALSE && SBC_IPAQ_OPT == FALSE) -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == FALSE) -/*Window coeff for 4 sub band case*/ -const SINT16 gas32CoeffFor4SBs[] = { - (SINT16)((SINT32)0x00000000 >> 16), (SINT16)0x00000000, (SINT16)((SINT32)0x001194E6 >> 16), (SINT16)0x001194E6, (SINT16)((SINT32)0x0030E2D3 >> 16), (SINT16)0x0030E2D3, - (SINT16)((SINT32)0x00599403 >> 16), (SINT16)0x00599403, (SINT16)((SINT32)0x007DBCC8 >> 16), (SINT16)0x007DBCC8, (SINT16)((SINT32)0x007F88E4 >> 16), (SINT16)0x007F88E4, - (SINT16)((SINT32)0x003D239B >> 16), (SINT16)0x003D239B, (SINT16)((SINT32)0xFF9BB9D5 >> 16), (SINT16)0xFF9BB9D5, - - (SINT16)((SINT32)0x01659F45 >> 16), (SINT16)0x01659F45, (SINT16)((SINT32)0x029DBAA3 >> 16), (SINT16)0x029DBAA3, (SINT16)((SINT32)0x03B23341 >> 16), (SINT16)0x03B23341, - (SINT16)((SINT32)0x041EEE40 >> 16), (SINT16)0x041EEE40, (SINT16)((SINT32)0x034FEE2C >> 16), (SINT16)0x034FEE2C, (SINT16)((SINT32)0x00C8F2BC >> 16), (SINT16)0x00C8F2BC, - (SINT16)((SINT32)0xFC4F91D4 >> 16), (SINT16)0xFC4F91D4, (SINT16)((SINT32)0xF60FAF37 >> 16), (SINT16)0xF60FAF37, - - (SINT16)((SINT32)0x115B1ED2 >> 16), (SINT16)0x115B1ED2, (SINT16)((SINT32)0x18F55C90 >> 16), (SINT16)0x18F55C90, (SINT16)((SINT32)0x1F91CA46 >> 16), (SINT16)0x1F91CA46, - (SINT16)((SINT32)0x2412F251 >> 16), (SINT16)0x2412F251, (SINT16)((SINT32)0x25AC1FF2 >> 16), (SINT16)0x25AC1FF2, (SINT16)((SINT32)0x2412F251 >> 16), (SINT16)0x2412F251, - (SINT16)((SINT32)0x1F91CA46 >> 16), (SINT16)0x1F91CA46, (SINT16)((SINT32)0x18F55C90 >> 16), (SINT16)0x18F55C90, - - (SINT16)((SINT32)0xEEA4E12E >> 16), (SINT16)0xEEA4E12E, (SINT16)((SINT32)0xF60FAF37 >> 16), (SINT16)0xF60FAF37, (SINT16)((SINT32)0xFC4F91D4 >> 16), (SINT16)0xFC4F91D4, - (SINT16)((SINT32)0x00C8F2BC >> 16), (SINT16)0x00C8F2BC, (SINT16)((SINT32)0x034FEE2C >> 16), (SINT16)0x034FEE2C, (SINT16)((SINT32)0x041EEE40 >> 16), (SINT16)0x041EEE40, - (SINT16)((SINT32)0x03B23341 >> 16), (SINT16)0x03B23341, (SINT16)((SINT32)0x029DBAA3 >> 16), (SINT16)0x029DBAA3, - - (SINT16)((SINT32)0xFE9A60BB >> 16), (SINT16)0xFE9A60BB, (SINT16)((SINT32)0xFF9BB9D5 >> 16), (SINT16)0xFF9BB9D5, (SINT16)((SINT32)0x003D239B >> 16), (SINT16)0x003D239B, - (SINT16)((SINT32)0x007F88E4 >> 16), (SINT16)0x007F88E4, (SINT16)((SINT32)0x007DBCC8 >> 16), (SINT16)0x007DBCC8, (SINT16)((SINT32)0x00599403 >> 16), (SINT16)0x00599403, - (SINT16)((SINT32)0x0030E2D3 >> 16), (SINT16)0x0030E2D3, (SINT16)((SINT32)0x001194E6 >> 16), (SINT16)0x001194E6}; - -/*Window coeff for 8 sub band case*/ -const SINT16 gas32CoeffFor8SBs[] = { - (SINT16)((SINT32)0x00000000 >> 16), (SINT16)0x00000000, (SINT16)((SINT32)0x00052173 >> 16), (SINT16)0x00052173, (SINT16)((SINT32)0x000B3F71 >> 16), (SINT16)0x000B3F71, - (SINT16)((SINT32)0x00122C7D >> 16), (SINT16)0x00122C7D, (SINT16)((SINT32)0x001AFF89 >> 16), (SINT16)0x001AFF89, (SINT16)((SINT32)0x00255A62 >> 16), (SINT16)0x00255A62, - (SINT16)((SINT32)0x003060F4 >> 16), (SINT16)0x003060F4, (SINT16)((SINT32)0x003A72E7 >> 16), (SINT16)0x003A72E7, - - (SINT16)((SINT32)0x0041EC6A >> 16), (SINT16)0x0041EC6A, /* 8 */ - (SINT16)((SINT32)0x0044EF48 >> 16), (SINT16)0x0044EF48, (SINT16)((SINT32)0x00415B75 >> 16), (SINT16)0x00415B75, (SINT16)((SINT32)0x0034F8B6 >> 16), (SINT16)0x0034F8B6, - (SINT16)((SINT32)0x001D8FD2 >> 16), (SINT16)0x001D8FD2, (SINT16)((SINT32)0xFFFA2413 >> 16), (SINT16)0xFFFA2413, (SINT16)((SINT32)0xFFC9F10E >> 16), (SINT16)0xFFC9F10E, - (SINT16)((SINT32)0xFF8D6793 >> 16), (SINT16)0xFF8D6793, - - (SINT16)((SINT32)0x00B97348 >> 16), (SINT16)0x00B97348, /* 16 */ - (SINT16)((SINT32)0x01071B96 >> 16), (SINT16)0x01071B96, (SINT16)((SINT32)0x0156B3CA >> 16), (SINT16)0x0156B3CA, (SINT16)((SINT32)0x01A1B38B >> 16), (SINT16)0x01A1B38B, - (SINT16)((SINT32)0x01E0224C >> 16), (SINT16)0x01E0224C, (SINT16)((SINT32)0x0209291F >> 16), (SINT16)0x0209291F, (SINT16)((SINT32)0x02138653 >> 16), (SINT16)0x02138653, - (SINT16)((SINT32)0x01F5F424 >> 16), (SINT16)0x01F5F424, - - (SINT16)((SINT32)0x01A7ECEF >> 16), (SINT16)0x01A7ECEF, /* 24 */ - (SINT16)((SINT32)0x01223EBA >> 16), (SINT16)0x01223EBA, (SINT16)((SINT32)0x005FD0FF >> 16), (SINT16)0x005FD0FF, (SINT16)((SINT32)0xFF5EEB73 >> 16), (SINT16)0xFF5EEB73, - (SINT16)((SINT32)0xFE20435D >> 16), (SINT16)0xFE20435D, (SINT16)((SINT32)0xFCA86E7E >> 16), (SINT16)0xFCA86E7E, (SINT16)((SINT32)0xFAFF95FC >> 16), (SINT16)0xFAFF95FC, - (SINT16)((SINT32)0xF9312891 >> 16), (SINT16)0xF9312891, - - (SINT16)((SINT32)0x08B4307A >> 16), (SINT16)0x08B4307A, /* 32 */ - (SINT16)((SINT32)0x0A9F3E9A >> 16), (SINT16)0x0A9F3E9A, (SINT16)((SINT32)0x0C7D59B6 >> 16), (SINT16)0x0C7D59B6, (SINT16)((SINT32)0x0E3BB16F >> 16), (SINT16)0x0E3BB16F, - (SINT16)((SINT32)0x0FC721F9 >> 16), (SINT16)0x0FC721F9, (SINT16)((SINT32)0x110ECEF0 >> 16), (SINT16)0x110ECEF0, (SINT16)((SINT32)0x120435FA >> 16), (SINT16)0x120435FA, - (SINT16)((SINT32)0x129C226F >> 16), (SINT16)0x129C226F, - - (SINT16)((SINT32)0x12CF6C75 >> 16), (SINT16)0x12CF6C75, /* 40 */ - (SINT16)((SINT32)0x129C226F >> 16), (SINT16)0x129C226F, (SINT16)((SINT32)0x120435FA >> 16), (SINT16)0x120435FA, (SINT16)((SINT32)0x110ECEF0 >> 16), (SINT16)0x110ECEF0, - (SINT16)((SINT32)0x0FC721F9 >> 16), (SINT16)0x0FC721F9, (SINT16)((SINT32)0x0E3BB16F >> 16), (SINT16)0x0E3BB16F, (SINT16)((SINT32)0x0C7D59B6 >> 16), (SINT16)0x0C7D59B6, - (SINT16)((SINT32)0x0A9F3E9A >> 16), (SINT16)0x0A9F3E9A, - - (SINT16)((SINT32)0xF74BCF86 >> 16), (SINT16)0xF74BCF86, /* 48 */ - (SINT16)((SINT32)0xF9312891 >> 16), (SINT16)0xF9312891, (SINT16)((SINT32)0xFAFF95FC >> 16), (SINT16)0xFAFF95FC, (SINT16)((SINT32)0xFCA86E7E >> 16), (SINT16)0xFCA86E7E, - (SINT16)((SINT32)0xFE20435D >> 16), (SINT16)0xFE20435D, (SINT16)((SINT32)0xFF5EEB73 >> 16), (SINT16)0xFF5EEB73, (SINT16)((SINT32)0x005FD0FF >> 16), (SINT16)0x005FD0FF, - (SINT16)((SINT32)0x01223EBA >> 16), (SINT16)0x01223EBA, - - (SINT16)((SINT32)0x01A7ECEF >> 16), (SINT16)0x01A7ECEF, /* 56 */ - (SINT16)((SINT32)0x01F5F424 >> 16), (SINT16)0x01F5F424, (SINT16)((SINT32)0x02138653 >> 16), (SINT16)0x02138653, (SINT16)((SINT32)0x0209291F >> 16), (SINT16)0x0209291F, - (SINT16)((SINT32)0x01E0224C >> 16), (SINT16)0x01E0224C, (SINT16)((SINT32)0x01A1B38B >> 16), (SINT16)0x01A1B38B, (SINT16)((SINT32)0x0156B3CA >> 16), (SINT16)0x0156B3CA, - (SINT16)((SINT32)0x01071B96 >> 16), (SINT16)0x01071B96, - - (SINT16)((SINT32)0xFF468CB8 >> 16), (SINT16)0xFF468CB8, /* 64 */ - (SINT16)((SINT32)0xFF8D6793 >> 16), (SINT16)0xFF8D6793, (SINT16)((SINT32)0xFFC9F10E >> 16), (SINT16)0xFFC9F10E, (SINT16)((SINT32)0xFFFA2413 >> 16), (SINT16)0xFFFA2413, - (SINT16)((SINT32)0x001D8FD2 >> 16), (SINT16)0x001D8FD2, (SINT16)((SINT32)0x0034F8B6 >> 16), (SINT16)0x0034F8B6, (SINT16)((SINT32)0x00415B75 >> 16), (SINT16)0x00415B75, - (SINT16)((SINT32)0x0044EF48 >> 16), (SINT16)0x0044EF48, - - (SINT16)((SINT32)0x0041EC6A >> 16), (SINT16)0x0041EC6A, /* 72 */ - (SINT16)((SINT32)0x003A72E7 >> 16), (SINT16)0x003A72E7, (SINT16)((SINT32)0x003060F4 >> 16), (SINT16)0x003060F4, (SINT16)((SINT32)0x00255A62 >> 16), (SINT16)0x00255A62, - (SINT16)((SINT32)0x001AFF89 >> 16), (SINT16)0x001AFF89, (SINT16)((SINT32)0x00122C7D >> 16), (SINT16)0x00122C7D, (SINT16)((SINT32)0x000B3F71 >> 16), (SINT16)0x000B3F71, - (SINT16)((SINT32)0x00052173 >> 16), (SINT16)0x00052173}; - -#else - -/*Window coeff for 4 sub band case*/ -const SINT32 gas32CoeffFor4SBs[] = {(SINT32)0x00000000, (SINT32)0x001194E6, (SINT32)0x0030E2D3, (SINT32)0x00599403, (SINT32)0x007DBCC8, (SINT32)0x007F88E4, (SINT32)0x003D239B, (SINT32)0xFF9BB9D5, - - (SINT32)0x01659F45, (SINT32)0x029DBAA3, (SINT32)0x03B23341, (SINT32)0x041EEE40, (SINT32)0x034FEE2C, (SINT32)0x00C8F2BC, (SINT32)0xFC4F91D4, (SINT32)0xF60FAF37, - - (SINT32)0x115B1ED2, (SINT32)0x18F55C90, (SINT32)0x1F91CA46, (SINT32)0x2412F251, (SINT32)0x25AC1FF2, (SINT32)0x2412F251, (SINT32)0x1F91CA46, (SINT32)0x18F55C90, - - (SINT32)0xEEA4E12E, (SINT32)0xF60FAF37, (SINT32)0xFC4F91D4, (SINT32)0x00C8F2BC, (SINT32)0x034FEE2C, (SINT32)0x041EEE40, (SINT32)0x03B23341, (SINT32)0x029DBAA3, - - (SINT32)0xFE9A60BB, (SINT32)0xFF9BB9D5, (SINT32)0x003D239B, (SINT32)0x007F88E4, (SINT32)0x007DBCC8, (SINT32)0x00599403, (SINT32)0x0030E2D3, (SINT32)0x001194E6}; - -/*Window coeff for 8 sub band case*/ -const SINT32 gas32CoeffFor8SBs[] = {(SINT32)0x00000000, (SINT32)0x00052173, (SINT32)0x000B3F71, (SINT32)0x00122C7D, (SINT32)0x001AFF89, (SINT32)0x00255A62, (SINT32)0x003060F4, (SINT32)0x003A72E7, - - (SINT32)0x0041EC6A, /* 8 */ - (SINT32)0x0044EF48, (SINT32)0x00415B75, (SINT32)0x0034F8B6, (SINT32)0x001D8FD2, (SINT32)0xFFFA2413, (SINT32)0xFFC9F10E, (SINT32)0xFF8D6793, - - (SINT32)0x00B97348, /* 16 */ - (SINT32)0x01071B96, (SINT32)0x0156B3CA, (SINT32)0x01A1B38B, (SINT32)0x01E0224C, (SINT32)0x0209291F, (SINT32)0x02138653, (SINT32)0x01F5F424, - - (SINT32)0x01A7ECEF, /* 24 */ - (SINT32)0x01223EBA, (SINT32)0x005FD0FF, (SINT32)0xFF5EEB73, (SINT32)0xFE20435D, (SINT32)0xFCA86E7E, (SINT32)0xFAFF95FC, (SINT32)0xF9312891, - - (SINT32)0x08B4307A, /* 32 */ - (SINT32)0x0A9F3E9A, (SINT32)0x0C7D59B6, (SINT32)0x0E3BB16F, (SINT32)0x0FC721F9, (SINT32)0x110ECEF0, (SINT32)0x120435FA, (SINT32)0x129C226F, - - (SINT32)0x12CF6C75, /* 40 */ - (SINT32)0x129C226F, (SINT32)0x120435FA, (SINT32)0x110ECEF0, (SINT32)0x0FC721F9, (SINT32)0x0E3BB16F, (SINT32)0x0C7D59B6, (SINT32)0x0A9F3E9A, - - (SINT32)0xF74BCF86, /* 48 */ - (SINT32)0xF9312891, (SINT32)0xFAFF95FC, (SINT32)0xFCA86E7E, (SINT32)0xFE20435D, (SINT32)0xFF5EEB73, (SINT32)0x005FD0FF, (SINT32)0x01223EBA, - - (SINT32)0x01A7ECEF, /* 56 */ - (SINT32)0x01F5F424, (SINT32)0x02138653, (SINT32)0x0209291F, (SINT32)0x01E0224C, (SINT32)0x01A1B38B, (SINT32)0x0156B3CA, (SINT32)0x01071B96, - - (SINT32)0xFF468CB8, /* 64 */ - (SINT32)0xFF8D6793, (SINT32)0xFFC9F10E, (SINT32)0xFFFA2413, (SINT32)0x001D8FD2, (SINT32)0x0034F8B6, (SINT32)0x00415B75, (SINT32)0x0044EF48, - - (SINT32)0x0041EC6A, /* 72 */ - (SINT32)0x003A72E7, (SINT32)0x003060F4, (SINT32)0x00255A62, (SINT32)0x001AFF89, (SINT32)0x00122C7D, (SINT32)0x000B3F71, (SINT32)0x00052173}; - -#endif -#endif - -#endif /* #if defined(SBC_ENC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_func_declare.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_func_declare.h deleted file mode 100644 index feb9d4b2..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_enc_func_declare.h +++ /dev/null @@ -1,58 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * Function declarations. - * - ******************************************************************************/ - -#ifndef SBC_FUNCDECLARE_H -#define SBC_FUNCDECLARE_H -#include "sbc_types.h" - -#include "sbc_encoder.h" - -/* Global data */ -#if (SBC_IS_64_MULT_IN_WINDOW_ACCU == FALSE) -extern const SINT16 gas32CoeffFor4SBs[]; -extern const SINT16 gas32CoeffFor8SBs[]; -#else -extern const SINT32 gas32CoeffFor4SBs[]; -extern const SINT32 gas32CoeffFor8SBs[]; -#endif - -/* Global functions*/ - -extern void sbc_enc_bit_alloc_mono(SBC_ENC_PARAMS *CodecParams); -extern void sbc_enc_bit_alloc_ste(SBC_ENC_PARAMS *CodecParams); - -extern void SbcAnalysisInit(void); - -extern void SbcAnalysisFilter4(SBC_ENC_PARAMS *strEncParams); -extern void SbcAnalysisFilter8(SBC_ENC_PARAMS *strEncParams); - -extern void SBC_FastIDCT8(SINT32 *pInVect, SINT32 *pOutVect); -extern void SBC_FastIDCT4(SINT32 *x0, SINT32 *pOutVect); - -extern void EncPacking(SBC_ENC_PARAMS *strEncParams); -extern void EncQuantizer(SBC_ENC_PARAMS *); -#if (SBC_DSP_OPT == TRUE) -SINT32 SBC_Multiply_32_16_Simplified(SINT32 s32In2Temp, SINT32 s32In1Temp); -#endif -#endif diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_encoder.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_encoder.c deleted file mode 100644 index 9db957ff..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_encoder.c +++ /dev/null @@ -1,312 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * contains code for encoder flow and initalization of encoder - * - ******************************************************************************/ - -#include "sbc_encoder.h" -#include "sbc_enc_func_declare.h" -#include -#include - -#if defined(SBC_ENC_INCLUDED) - -SINT16 EncMaxShiftCounter; - -#if (SBC_JOINT_STE_INCLUDED == TRUE) -SINT32 s32LRDiff[SBC_MAX_NUM_OF_BLOCKS] = {0}; -SINT32 s32LRSum[SBC_MAX_NUM_OF_BLOCKS] = {0}; -#endif - -void SBC_Encoder(SBC_ENC_PARAMS *pstrEncParams) { - SINT32 s32Ch; /* counter for ch*/ - SINT32 s32Sb; /* counter for sub-band*/ - UINT32 u32Count, maxBit = 0; /* loop count*/ - SINT32 s32MaxValue; /* temp variable to store max value */ - - SINT16 *ps16ScfL; - SINT32 *SbBuffer; - SINT32 s32Blk; /* counter for block*/ - SINT32 s32NumOfBlocks = pstrEncParams->s16NumOfBlocks; -#if (SBC_JOINT_STE_INCLUDED == TRUE) - SINT32 s32MaxValue2; - UINT32 u32CountSum, u32CountDiff; - SINT32 *pSum, *pDiff; -#endif - register SINT32 s32NumOfSubBands = pstrEncParams->s16NumOfSubBands; - - pstrEncParams->pu8NextPacket = pstrEncParams->pu8Packet; - -#if (SBC_NO_PCM_CPY_OPTION == TRUE) - pstrEncParams->ps16NextPcmBuffer = pstrEncParams->ps16PcmBuffer; -#else - pstrEncParams->ps16NextPcmBuffer = pstrEncParams->as16PcmBuffer; -#endif - do { - /* SBC ananlysis filter*/ - if (s32NumOfSubBands == 4) { - SbcAnalysisFilter4(pstrEncParams); - } else { - SbcAnalysisFilter8(pstrEncParams); - } - - /* compute the scale factor, and save the max */ - ps16ScfL = pstrEncParams->as16ScaleFactor; - s32Ch = pstrEncParams->s16NumOfChannels * s32NumOfSubBands; - - pstrEncParams->ps16NextPcmBuffer += s32Ch * s32NumOfBlocks; /* in case of multible sbc frame to encode update the pcm pointer */ - - for (s32Sb = 0; s32Sb < s32Ch; s32Sb++) { - SbBuffer = pstrEncParams->s32SbBuffer + s32Sb; - s32MaxValue = 0; - for (s32Blk = s32NumOfBlocks; s32Blk > 0; s32Blk--) { - if (s32MaxValue < abs32(*SbBuffer)) { - s32MaxValue = abs32(*SbBuffer); - } - SbBuffer += s32Ch; - } - - u32Count = (s32MaxValue > 0x800000) ? 9 : 0; - - for (; u32Count < 15; u32Count++) { - if (s32MaxValue <= (SINT32)(0x8000 << u32Count)) { - break; - } - } - *ps16ScfL++ = (SINT16)u32Count; - - if (u32Count > maxBit) { - maxBit = u32Count; - } - } - /* In case of JS processing,check whether to use JS */ -#if (SBC_JOINT_STE_INCLUDED == TRUE) - if (pstrEncParams->s16ChannelMode == SBC_JOINT_STEREO) { - /* Calculate sum and differance scale factors for making JS decision */ - ps16ScfL = pstrEncParams->as16ScaleFactor; - /* calculate the scale factor of Joint stereo max sum and diff */ - for (s32Sb = 0; s32Sb < s32NumOfSubBands - 1; s32Sb++) { - SbBuffer = pstrEncParams->s32SbBuffer + s32Sb; - s32MaxValue2 = 0; - s32MaxValue = 0; - pSum = s32LRSum; - pDiff = s32LRDiff; - for (s32Blk = 0; s32Blk < s32NumOfBlocks; s32Blk++) { - *pSum = (*SbBuffer + *(SbBuffer + s32NumOfSubBands)) >> 1; - if (abs32(*pSum) > s32MaxValue) { - s32MaxValue = abs32(*pSum); - } - pSum++; - *pDiff = (*SbBuffer - *(SbBuffer + s32NumOfSubBands)) >> 1; - if (abs32(*pDiff) > s32MaxValue2) { - s32MaxValue2 = abs32(*pDiff); - } - pDiff++; - SbBuffer += s32Ch; - } - u32Count = (s32MaxValue > 0x800000) ? 9 : 0; - for (; u32Count < 15; u32Count++) { - if (s32MaxValue <= (SINT32)(0x8000 << u32Count)) { - break; - } - } - u32CountSum = u32Count; - u32Count = (s32MaxValue2 > 0x800000) ? 9 : 0; - for (; u32Count < 15; u32Count++) { - if (s32MaxValue2 <= (SINT32)(0x8000 << u32Count)) { - break; - } - } - u32CountDiff = u32Count; - if ((*ps16ScfL + *(ps16ScfL + s32NumOfSubBands)) > (SINT16)(u32CountSum + u32CountDiff)) { - if (u32CountSum > maxBit) { - maxBit = u32CountSum; - } - - if (u32CountDiff > maxBit) { - maxBit = u32CountDiff; - } - - *ps16ScfL = (SINT16)u32CountSum; - *(ps16ScfL + s32NumOfSubBands) = (SINT16)u32CountDiff; - - SbBuffer = pstrEncParams->s32SbBuffer + s32Sb; - pSum = s32LRSum; - pDiff = s32LRDiff; - - for (s32Blk = 0; s32Blk < s32NumOfBlocks; s32Blk++) { - *SbBuffer = *pSum; - *(SbBuffer + s32NumOfSubBands) = *pDiff; - - SbBuffer += s32NumOfSubBands << 1; - pSum++; - pDiff++; - } - - pstrEncParams->as16Join[s32Sb] = 1; - } else { - pstrEncParams->as16Join[s32Sb] = 0; - } - ps16ScfL++; - } - pstrEncParams->as16Join[s32Sb] = 0; - } -#endif - - pstrEncParams->s16MaxBitNeed = (SINT16)maxBit; - - /* bit allocation */ - if ((pstrEncParams->s16ChannelMode == SBC_STEREO) || (pstrEncParams->s16ChannelMode == SBC_JOINT_STEREO)) { - sbc_enc_bit_alloc_ste(pstrEncParams); - } else { - sbc_enc_bit_alloc_mono(pstrEncParams); - } - - /* Quantize the encoded audio */ - EncPacking(pstrEncParams); - } while (--(pstrEncParams->u8NumPacketToEncode)); - - pstrEncParams->u8NumPacketToEncode = 1; /* default is one for retrocompatibility purpose */ -} - -/**************************************************************************** - * InitSbcAnalysisFilt - Initalizes the input data to 0 - * - * RETURNS : N/A - */ -void SBC_Encoder_Init(SBC_ENC_PARAMS *pstrEncParams) { - UINT16 s16SamplingFreq; /*temp variable to store smpling freq*/ - SINT16 s16Bitpool; /*to store bit pool value*/ - SINT16 s16BitRate; /*to store bitrate*/ - SINT16 s16FrameLen; /*to store frame length*/ - UINT16 HeaderParams; - - pstrEncParams->u8NumPacketToEncode = 1; /* default is one for retrocompatibility purpose */ - - if (pstrEncParams->sbc_mode != SBC_MODE_MSBC) { - /* Required number of channels */ - if (pstrEncParams->s16ChannelMode == SBC_MONO) { - pstrEncParams->s16NumOfChannels = 1; - } else { - pstrEncParams->s16NumOfChannels = 2; - } - - /* Bit pool calculation */ - if (pstrEncParams->s16SamplingFreq == SBC_sf16000) { - s16SamplingFreq = 16000; - } else if (pstrEncParams->s16SamplingFreq == SBC_sf32000) { - s16SamplingFreq = 32000; - } else if (pstrEncParams->s16SamplingFreq == SBC_sf44100) { - s16SamplingFreq = 44100; - } else { - s16SamplingFreq = 48000; - } - - if ((pstrEncParams->s16ChannelMode == SBC_JOINT_STEREO) || (pstrEncParams->s16ChannelMode == SBC_STEREO)) { - s16Bitpool = (SINT16)((pstrEncParams->u16BitRate * pstrEncParams->s16NumOfSubBands * 1000 / s16SamplingFreq) - - ((32 + (4 * pstrEncParams->s16NumOfSubBands * pstrEncParams->s16NumOfChannels) + ((pstrEncParams->s16ChannelMode - 2) * pstrEncParams->s16NumOfSubBands)) / - pstrEncParams->s16NumOfBlocks)); - - s16FrameLen = 4 + (4 * pstrEncParams->s16NumOfSubBands * pstrEncParams->s16NumOfChannels) / 8 + - (((pstrEncParams->s16ChannelMode - 2) * pstrEncParams->s16NumOfSubBands) + (pstrEncParams->s16NumOfBlocks * s16Bitpool)) / 8; - - s16BitRate = (8 * s16FrameLen * s16SamplingFreq) / (pstrEncParams->s16NumOfSubBands * pstrEncParams->s16NumOfBlocks * 1000); - - if (s16BitRate > pstrEncParams->u16BitRate) { - s16Bitpool--; - } - - if (pstrEncParams->s16NumOfSubBands == 8) { - pstrEncParams->s16BitPool = (s16Bitpool > 255) ? 255 : s16Bitpool; - } else { - pstrEncParams->s16BitPool = (s16Bitpool > 128) ? 128 : s16Bitpool; - } - } else { - s16Bitpool = (SINT16)(((pstrEncParams->s16NumOfSubBands * pstrEncParams->u16BitRate * 1000) / (s16SamplingFreq * pstrEncParams->s16NumOfChannels)) - - (((32 / pstrEncParams->s16NumOfChannels) + (4 * pstrEncParams->s16NumOfSubBands)) / pstrEncParams->s16NumOfBlocks)); - - pstrEncParams->s16BitPool = (s16Bitpool > (16 * pstrEncParams->s16NumOfSubBands)) ? (16 * pstrEncParams->s16NumOfSubBands) : s16Bitpool; - } - - if (pstrEncParams->s16BitPool < 0) { - pstrEncParams->s16BitPool = 0; - } - /* sampling freq */ - HeaderParams = ((pstrEncParams->s16SamplingFreq & 3) << 6); - - /* number of blocks*/ - HeaderParams |= (((pstrEncParams->s16NumOfBlocks - 4) & 12) << 2); - - /* channel mode: mono, dual...*/ - HeaderParams |= ((pstrEncParams->s16ChannelMode & 3) << 2); - - /* Loudness or SNR */ - HeaderParams |= ((pstrEncParams->s16AllocationMethod & 1) << 1); - HeaderParams |= ((pstrEncParams->s16NumOfSubBands >> 3) & 1); /*4 or 8*/ - - pstrEncParams->FrameHeader = HeaderParams; - } else { - // mSBC - - // Use mSBC encoding parameters to reset the control field - /* Required number of channels: 1 */ - pstrEncParams->s16ChannelMode = SBC_MONO; - pstrEncParams->s16NumOfChannels = 1; - - /* Required Sampling frequency : 16KHz */ - pstrEncParams->s16SamplingFreq = SBC_sf16000; - - /* Bit pool value: 26 */ - pstrEncParams->s16BitPool = 26; - - /* number of subbands: 8 */ - pstrEncParams->s16NumOfSubBands = 8; - - /* number of blocks: 15 */ - pstrEncParams->s16NumOfBlocks = 15; - - /* allocation method: loudness */ - pstrEncParams->s16AllocationMethod = SBC_LOUDNESS; - - /* set the header paramers, unused for mSBC */ - pstrEncParams->FrameHeader = 0; - } - - if (pstrEncParams->s16NumOfSubBands == 4) { - if (pstrEncParams->s16NumOfChannels == 1) { - EncMaxShiftCounter = ((ENC_VX_BUFFER_SIZE - 4 * 10) >> 2) << 2; - } else { - EncMaxShiftCounter = ((ENC_VX_BUFFER_SIZE - 4 * 10 * 2) >> 3) << 2; - } - } else { - if (pstrEncParams->s16NumOfChannels == 1) { - EncMaxShiftCounter = ((ENC_VX_BUFFER_SIZE - 8 * 10) >> 3) << 3; - } else { - EncMaxShiftCounter = ((ENC_VX_BUFFER_SIZE - 8 * 10 * 2) >> 4) << 3; - } - } - - BT_WARN("SBC_Encoder_Init : bitrate %d, bitpool %d\n", pstrEncParams->u16BitRate, pstrEncParams->s16BitPool); - - SbcAnalysisInit(); -} - -#endif /* #if defined(SBC_ENC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_encoder.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_encoder.h deleted file mode 100644 index d706c349..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_encoder.h +++ /dev/null @@ -1,207 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * This file contains constants and structures used by Encoder. - * - ******************************************************************************/ - -#ifndef SBC_ENCODER_H -#define SBC_ENCODER_H - -#define ENCODER_VERSION "0025" - -#ifdef BUILDCFG -#include "common/bt_target.h" -#endif - -/*DEFINES*/ -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef TRUE -#define TRUE (!FALSE) -#endif - -#define SBC_MAX_NUM_OF_SUBBANDS 8 -#define SBC_MAX_NUM_OF_CHANNELS 2 -#define SBC_MAX_NUM_OF_BLOCKS 16 - -#define SBC_LOUDNESS 0 -#define SBC_SNR 1 - -#define SUB_BANDS_8 8 -#define SUB_BANDS_4 4 - -#define SBC_sf16000 0 -#define SBC_sf32000 1 -#define SBC_sf44100 2 -#define SBC_sf48000 3 - -#define SBC_MONO 0 -#define SBC_DUAL 1 -#define SBC_STEREO 2 -#define SBC_JOINT_STEREO 3 - -#define SBC_BLOCK_0 4 -#define SBC_BLOCK_1 8 -#define SBC_BLOCK_2 12 -#define SBC_BLOCK_3 16 - -#define SBC_NULL 0 - -#define SBC_MODE_STD 0 -#define SBC_MODE_MSBC 1 - -#define SBC_SYNC_WORD_STD (0x9C) -#define SBC_SYNC_WORD_MSBC (0xAD) - -#ifndef SBC_MAX_NUM_FRAME -#define SBC_MAX_NUM_FRAME 1 -#endif - -#ifndef SBC_DSP_OPT -#define SBC_DSP_OPT FALSE -#endif - -/* Set SBC_USE_ARM_PRAGMA to TRUE to use "#pragma arm section zidata" */ -#ifndef SBC_USE_ARM_PRAGMA -#define SBC_USE_ARM_PRAGMA FALSE -#endif - -/* Set SBC_ARM_ASM_OPT to TRUE in case the target is an ARM */ -/* this will replace all the 32 and 64 bit mult by in line assembly code */ -#ifndef SBC_ARM_ASM_OPT -#define SBC_ARM_ASM_OPT FALSE -#endif - -/* green hill compiler option -> Used to distinguish the syntax for inline assembly code*/ -#ifndef SBC_GHS_COMPILER -#define SBC_GHS_COMPILER FALSE -#endif - -/* ARM compiler option -> Used to distinguish the syntax for inline assembly code */ -#ifndef SBC_ARM_COMPILER -#define SBC_ARM_COMPILER TRUE -#endif - -/* Set SBC_IPAQ_OPT to TRUE in case the target is an ARM */ -/* 32 and 64 bit mult will be performed using SINT64 ( usualy __int64 ) cast that usualy give optimal performance if supported */ -#ifndef SBC_IPAQ_OPT -#define SBC_IPAQ_OPT TRUE -#endif - -/* Debug only: set SBC_IS_64_MULT_IN_WINDOW_ACCU to TRUE to use 64 bit multiplication in the windowing */ -/* -> not recomended, more MIPS for the same restitution. */ -#ifndef SBC_IS_64_MULT_IN_WINDOW_ACCU -#define SBC_IS_64_MULT_IN_WINDOW_ACCU FALSE -#endif /*SBC_IS_64_MULT_IN_WINDOW_ACCU */ - -/* Set SBC_IS_64_MULT_IN_IDCT to TRUE to use 64 bits multiplication in the DCT of Matrixing */ -/* -> more MIPS required for a better audio quality. comparasion with the SIG utilities shows a division by 10 of the RMS */ -/* CAUTION: It only apply in the if SBC_FAST_DCT is set to TRUE */ -#ifndef SBC_IS_64_MULT_IN_IDCT -#define SBC_IS_64_MULT_IN_IDCT FALSE -#endif /*SBC_IS_64_MULT_IN_IDCT */ - -/* set SBC_IS_64_MULT_IN_QUANTIZER to TRUE to use 64 bits multiplication in the quantizer */ -/* setting this flag to FALSE add whistling noise at 5.5 and 11 KHz usualy not perceptible by human's hears. */ -#ifndef SBC_IS_64_MULT_IN_QUANTIZER -#define SBC_IS_64_MULT_IN_QUANTIZER TRUE -#endif /*SBC_IS_64_MULT_IN_IDCT */ - -/* Debug only: set this flag to FALSE to disable fast DCT algorithm */ -#ifndef SBC_FAST_DCT -#define SBC_FAST_DCT TRUE -#endif /*SBC_FAST_DCT */ - -/* In case we do not use joint stereo mode the flag save some RAM and ROM in case it is set to FALSE */ -#ifndef SBC_JOINT_STE_INCLUDED -#define SBC_JOINT_STE_INCLUDED TRUE -#endif - -/* TRUE -> application should provide PCM buffer, FALSE PCM buffer reside in SBC_ENC_PARAMS */ -#ifndef SBC_NO_PCM_CPY_OPTION -#define SBC_NO_PCM_CPY_OPTION FALSE -#endif - -#define MINIMUM_ENC_VX_BUFFER_SIZE (8 * 10 * 2) -#ifndef ENC_VX_BUFFER_SIZE -#define ENC_VX_BUFFER_SIZE (MINIMUM_ENC_VX_BUFFER_SIZE + 64) -/*#define ENC_VX_BUFFER_SIZE MINIMUM_ENC_VX_BUFFER_SIZE + 1024*/ -#endif - -#ifndef SBC_FOR_EMBEDDED_LINUX -#define SBC_FOR_EMBEDDED_LINUX FALSE -#endif - -/*constants used for index calculation*/ -#define SBC_BLK (SBC_MAX_NUM_OF_CHANNELS * SBC_MAX_NUM_OF_SUBBANDS) - -#include "sbc_types.h" - -typedef struct SBC_ENC_PARAMS_TAG { - SINT16 s16SamplingFreq; /* 16k, 32k, 44.1k or 48k*/ - SINT16 s16ChannelMode; /* mono, dual, streo or joint streo*/ - SINT16 s16NumOfSubBands; /* 4 or 8 */ - SINT16 s16NumOfChannels; - SINT16 s16NumOfBlocks; /* 4, 8, 12 or 16*/ - SINT16 s16AllocationMethod; /* loudness or SNR*/ - SINT16 s16BitPool; /* 16*numOfSb for mono & dual; - 32*numOfSb for stereo & joint stereo */ - UINT16 u16BitRate; - UINT8 sbc_mode; /* SBC_MODE_STD or SBC_MODE_MSBC */ - UINT8 u8NumPacketToEncode; /* number of sbc frame to encode. Default is 1 */ -#if (SBC_JOINT_STE_INCLUDED == TRUE) - SINT16 as16Join[SBC_MAX_NUM_OF_SUBBANDS]; /*1 if JS, 0 otherwise*/ -#endif - - SINT16 s16MaxBitNeed; - SINT16 as16ScaleFactor[SBC_MAX_NUM_OF_CHANNELS * SBC_MAX_NUM_OF_SUBBANDS]; - - SINT16 *ps16NextPcmBuffer; -#if (SBC_NO_PCM_CPY_OPTION == TRUE) - SINT16 *ps16PcmBuffer; -#else - SINT16 as16PcmBuffer[SBC_MAX_NUM_FRAME * SBC_MAX_NUM_OF_BLOCKS * SBC_MAX_NUM_OF_CHANNELS * SBC_MAX_NUM_OF_SUBBANDS]; -#endif - - SINT16 s16ScartchMemForBitAlloc[16]; - - SINT32 s32SbBuffer[SBC_MAX_NUM_OF_CHANNELS * SBC_MAX_NUM_OF_SUBBANDS * SBC_MAX_NUM_OF_BLOCKS]; - - SINT16 as16Bits[SBC_MAX_NUM_OF_CHANNELS * SBC_MAX_NUM_OF_SUBBANDS]; - - UINT8 *pu8Packet; - UINT8 *pu8NextPacket; - UINT16 FrameHeader; - UINT16 u16PacketLength; - -} SBC_ENC_PARAMS; - -#ifdef __cplusplus -extern "C" { -#endif -extern void SBC_Encoder(SBC_ENC_PARAMS *strEncParams); -extern void SBC_Encoder_Init(SBC_ENC_PARAMS *strEncParams); -#ifdef __cplusplus -} -#endif -#endif diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_packing.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_packing.c deleted file mode 100644 index 1a24388b..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_packing.c +++ /dev/null @@ -1,257 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * This file contains code for packing the Encoded data into bit streams. - * - ******************************************************************************/ - -#include "sbc_enc_func_declare.h" -#include "sbc_encoder.h" - -#if defined(SBC_ENC_INCLUDED) - -#if (SBC_ARM_ASM_OPT == TRUE) -#define Mult32(s32In1, s32In2, s32OutLow) \ - { \ - __asm { \ - MUL s32OutLow,s32In1,s32In2; } \ - } -#define Mult64(s32In1, s32In2, s32OutLow, s32OutHi) \ - { \ - __asm { \ - SMULL s32OutLow,s32OutHi,s32In1,s32In2 } \ - } -#else -#define Mult32(s32In1, s32In2, s32OutLow) s32OutLow = (SINT32)s32In1 * (SINT32)s32In2; -#define Mult64(s32In1, s32In2, s32OutLow, s32OutHi) \ - { \ - s32OutLow = ((SINT32)(UINT16)s32In1 * (UINT16)s32In2); \ - s32TempVal2 = (SINT32)((s32In1 >> 16) * (UINT16)s32In2); \ - s32Carry = ((((UINT32)(s32OutLow) >> 16) & 0xFFFF) + +(s32TempVal2 & 0xFFFF)) >> 16; \ - s32OutLow += (s32TempVal2 << 16); \ - s32OutHi = (s32TempVal2 >> 16) + s32Carry; \ - } -#endif - -void EncPacking(SBC_ENC_PARAMS *pstrEncParams) { - UINT8 *pu8PacketPtr; /* packet ptr*/ - UINT8 Temp; - SINT32 s32Blk; /* counter for block*/ - SINT32 s32Ch; /* counter for channel*/ - SINT32 s32Sb; /* counter for sub-band*/ - SINT32 s32PresentBit; /* represents bit to be stored*/ - /*SINT32 s32LoopCountI; loop counter*/ - SINT32 s32LoopCountJ; /* loop counter*/ - UINT32 u32QuantizedSbValue, u32QuantizedSbValue0; /* temp variable to store quantized sb val*/ - SINT32 s32LoopCount; /* loop counter*/ - UINT8 u8XoredVal; /* to store XORed value in CRC calculation*/ - UINT8 u8CRC; /* to store CRC value*/ - SINT16 *ps16GenPtr; - SINT32 s32NumOfBlocks; - SINT32 s32NumOfSubBands = pstrEncParams->s16NumOfSubBands; - SINT32 s32NumOfChannels = pstrEncParams->s16NumOfChannels; - UINT32 u32SfRaisedToPow2; /*scale factor raised to power 2*/ - SINT16 *ps16ScfPtr; - SINT32 *ps32SbPtr; - UINT16 u16Levels; /*to store levels*/ - SINT32 s32Temp1; /*used in 64-bit multiplication*/ - SINT32 s32Low; /*used in 64-bit multiplication*/ -#if (SBC_IS_64_MULT_IN_QUANTIZER == TRUE) - SINT32 s32Hi1, s32Low1, s32Carry, s32TempVal2, s32Hi, s32Temp2; -#endif - - pu8PacketPtr = pstrEncParams->pu8NextPacket; /*Initialize the ptr*/ - if (pstrEncParams->sbc_mode != SBC_MODE_MSBC) { - *pu8PacketPtr++ = (UINT8)SBC_SYNC_WORD_STD; /*Sync word*/ - *pu8PacketPtr++ = (UINT8)(pstrEncParams->FrameHeader); - - *pu8PacketPtr = (UINT8)(pstrEncParams->s16BitPool & 0x00FF); - } else { - *pu8PacketPtr++ = (UINT8)SBC_SYNC_WORD_MSBC; /*Sync word*/ - // two reserved bytes - *pu8PacketPtr++ = 0; - *pu8PacketPtr = 0; - } - pu8PacketPtr += 2; /*skip for CRC*/ - - /*here it indicate if it is byte boundary or nibble boundary*/ - s32PresentBit = 8; - Temp = 0; -#if (SBC_JOINT_STE_INCLUDED == TRUE) - if (pstrEncParams->s16ChannelMode == SBC_JOINT_STEREO) { - /* pack join stero parameters */ - for (s32Sb = 0; s32Sb < s32NumOfSubBands; s32Sb++) { - Temp <<= 1; - Temp |= pstrEncParams->as16Join[s32Sb]; - } - - /* pack RFA */ - if (s32NumOfSubBands == SUB_BANDS_4) { - s32PresentBit = 4; - } else { - *(pu8PacketPtr++) = Temp; - Temp = 0; - } - } -#endif - - /* Pack Scale factor */ - ps16GenPtr = pstrEncParams->as16ScaleFactor; - s32Sb = s32NumOfChannels * s32NumOfSubBands; - /*Temp=*pu8PacketPtr;*/ - for (s32Ch = s32Sb; s32Ch > 0; s32Ch--) { - Temp <<= 4; - Temp |= *ps16GenPtr++; - - if (s32PresentBit == 4) { - s32PresentBit = 8; - *(pu8PacketPtr++) = Temp; - Temp = 0; - } else { - s32PresentBit = 4; - } - } - - /* Pack samples */ - ps32SbPtr = pstrEncParams->s32SbBuffer; - /*Temp=*pu8PacketPtr;*/ - s32NumOfBlocks = pstrEncParams->s16NumOfBlocks; - for (s32Blk = s32NumOfBlocks - 1; s32Blk >= 0; s32Blk--) { - ps16GenPtr = pstrEncParams->as16Bits; - ps16ScfPtr = pstrEncParams->as16ScaleFactor; - for (s32Ch = s32Sb - 1; s32Ch >= 0; s32Ch--) { - s32LoopCount = *ps16GenPtr++; - if (s32LoopCount != 0) { -#if (SBC_IS_64_MULT_IN_QUANTIZER == TRUE) - /* finding level from reconstruction part of decoder */ - u32SfRaisedToPow2 = ((UINT32)1 << ((*ps16ScfPtr) + 1)); - u16Levels = (UINT16)(((UINT32)1 << s32LoopCount) - 1); - - /* quantizer */ - s32Temp1 = (*ps32SbPtr >> 2) + (u32SfRaisedToPow2 << 12); - s32Temp2 = u16Levels; - - Mult64(s32Temp1, s32Temp2, s32Low, s32Hi); - - s32Low1 = s32Low >> ((*ps16ScfPtr) + 2); - s32Low1 &= ((UINT32)1 << (32 - ((*ps16ScfPtr) + 2))) - 1; - s32Hi1 = s32Hi << (32 - ((*ps16ScfPtr) + 2)); - - u32QuantizedSbValue0 = (UINT16)((s32Low1 | s32Hi1) >> 12); -#else - /* finding level from reconstruction part of decoder */ - u32SfRaisedToPow2 = ((UINT32)1 << *ps16ScfPtr); - u16Levels = (UINT16)(((UINT32)1 << s32LoopCount) - 1); - - /* quantizer */ - s32Temp1 = (*ps32SbPtr >> 15) + u32SfRaisedToPow2; - Mult32(s32Temp1, u16Levels, s32Low); - s32Low >>= (*ps16ScfPtr + 1); - u32QuantizedSbValue0 = (UINT16)s32Low; -#endif - /*store the number of bits required and the quantized s32Sb - sample to ease the coding*/ - u32QuantizedSbValue = u32QuantizedSbValue0; - - if (s32PresentBit >= s32LoopCount) { - Temp <<= s32LoopCount; - Temp |= u32QuantizedSbValue; - s32PresentBit -= s32LoopCount; - } else { - while (s32PresentBit < s32LoopCount) { - s32LoopCount -= s32PresentBit; - u32QuantizedSbValue >>= s32LoopCount; - - /*remove the unwanted msbs*/ - /*u32QuantizedSbValue <<= 16 - s32PresentBit; - u32QuantizedSbValue >>= 16 - s32PresentBit;*/ - - Temp <<= s32PresentBit; - - Temp |= u32QuantizedSbValue; - /*restore the original*/ - u32QuantizedSbValue = u32QuantizedSbValue0; - - *(pu8PacketPtr++) = Temp; - Temp = 0; - s32PresentBit = 8; - } - Temp <<= s32LoopCount; - - /* remove the unwanted msbs */ - /*u32QuantizedSbValue <<= 16 - s32LoopCount; - u32QuantizedSbValue >>= 16 - s32LoopCount;*/ - - Temp |= u32QuantizedSbValue; - - s32PresentBit -= s32LoopCount; - } - } - ps16ScfPtr++; - ps32SbPtr++; - } - } - - Temp <<= s32PresentBit; - *pu8PacketPtr = Temp; - pstrEncParams->u16PacketLength = pu8PacketPtr - pstrEncParams->pu8NextPacket + 1; - /*find CRC*/ - pu8PacketPtr = pstrEncParams->pu8NextPacket + 1; /*Initialize the ptr*/ - u8CRC = 0x0F; - s32LoopCount = s32Sb >> 1; - - /* - The loops is run from the start of the packet till the scale factor - parameters. In case of JS, 'join' parameter is included in the packet - so that many more bytes are included in CRC calculation. - */ - Temp = *pu8PacketPtr; - for (s32Ch = 1; s32Ch < (s32LoopCount + 4); s32Ch++) { - /* skip sync word and CRC bytes */ - if (s32Ch != 3) { - for (s32LoopCountJ = 7; s32LoopCountJ >= 0; s32LoopCountJ--) { - u8XoredVal = ((u8CRC >> 7) & 0x01) ^ ((Temp >> s32LoopCountJ) & 0x01); - u8CRC <<= 1; - u8CRC ^= (u8XoredVal * 0x1D); - u8CRC &= 0xFF; - } - } - Temp = *(++pu8PacketPtr); - } - - if (pstrEncParams->s16ChannelMode == SBC_JOINT_STEREO) { - for (s32LoopCountJ = 7; s32LoopCountJ >= (8 - s32NumOfSubBands); s32LoopCountJ--) { - u8XoredVal = ((u8CRC >> 7) & 0x01) ^ ((Temp >> s32LoopCountJ) & 0x01); - u8CRC <<= 1; - u8CRC ^= (u8XoredVal * 0x1D); - u8CRC &= 0xFF; - } - } - - /* CRC calculation ends here */ - - /* store CRC in packet */ - pu8PacketPtr = pstrEncParams->pu8NextPacket; /*Initialize the ptr*/ - pu8PacketPtr += 3; - *pu8PacketPtr = u8CRC; - pstrEncParams->pu8NextPacket += pstrEncParams->u16PacketLength; /* move the pointer to the end in case there is more than one frame to encode */ -} - -#endif /* #if defined(SBC_ENC_INCLUDED) */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_types.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_types.h deleted file mode 100644 index 82eed436..00000000 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/sbc/enc/sbc_types.h +++ /dev/null @@ -1,57 +0,0 @@ -/****************************************************************************** - * - * Copyright (C) 1999-2012 Broadcom Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - ******************************************************************************/ - -/****************************************************************************** - * - * Data type declarations. - * - ******************************************************************************/ - -#ifndef SBC_TYPES_H -#define SBC_TYPES_H - -#include - -typedef uint8_t UINT8; -typedef uint16_t UINT16; -typedef uint32_t UINT32; -typedef uint64_t UINT64; -typedef short SINT16; -typedef long SINT32; - -#if (SBC_IPAQ_OPT == TRUE) - -#if (SBC_FOR_EMBEDDED_LINUX == TRUE) -typedef long long SINT64; -#else -typedef int64_t SINT64; -#endif - -#elif (SBC_IS_64_MULT_IN_WINDOW_ACCU == TRUE) || (SBC_IS_64_MULT_IN_IDCT == TRUE) - -#if (SBC_FOR_EMBEDDED_LINUX == TRUE) -typedef long long SINT64; -#else -typedef int64_t SINT64; -#endif - -#endif - -#define abs32(x) ((x >= 0) ? x : (-x)) - -#endif diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/services/hog.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/services/hog.c index cc2935ac..98e00f24 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/services/hog.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/services/hog.c @@ -8,20 +8,22 @@ * SPDX-License-Identifier: Apache-2.0 */ +#include + #include #include #include #include #include -#include -#include "hog.h" #include "log.h" #include #include #include #include +#include "hog.h" + enum { HIDS_REMOTE_WAKE = BIT(0), HIDS_NORMALLY_CONNECTABLE = BIT(1), @@ -144,23 +146,21 @@ int hog_notify(struct bt_conn *conn, uint16_t hid_usage, uint8_t press) { struct hids_remote_key *remote_key = NULL; u8_t len = 4, data[4]; - for (size_t i = 0; i < (sizeof(remote_kbd_map_tab) / sizeof(remote_kbd_map_tab[0])); i++) { + for (int i = 0; i < (sizeof(remote_kbd_map_tab) / sizeof(remote_kbd_map_tab[0])); i++) { if (remote_kbd_map_tab[i].hid_usage == hid_usage) { remote_key = &remote_kbd_map_tab[i]; break; } } - if (!remote_key) { + if (!remote_key) return EINVAL; - } if (remote_key->hid_page == HID_PAGE_KBD) { attr = &attrs[BT_CHAR_BLE_HID_REPORT_ATTR_VAL_INDEX]; len = 3; - } else { + } else return EINVAL; - } sys_put_le16(hid_usage, data); data[2] = 0; diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/services/hog.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/services/hog.h index 3855fe64..c3746aae 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/services/hog.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/ble_stack/services/hog.h @@ -15,9 +15,6 @@ extern "C" { #endif #include -#include "conn.h" -#include "conn_internal.h" - #define HID_PAGE_KBD 0x07 #define HID_PAGE_CONS 0x0C diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/ble_inc/ble_lib_api.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/ble_inc/ble_lib_api.h index 2cf94f98..0135b36a 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/ble_inc/ble_lib_api.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/ble_inc/ble_lib_api.h @@ -6,6 +6,9 @@ void ble_controller_init(uint8_t task_priority); void ble_controller_deinit(void); +#if !defined(CFG_FREERTOS) && !defined(CFG_AOS) +void blecontroller_main(void); +#endif #if defined(CFG_BT_RESET) void ble_controller_reset(void); #endif @@ -69,6 +72,7 @@ int le_rx_test_cmd_handler(uint16_t src_id, void *param, bool from_hci); int le_tx_test_cmd_handler(uint16_t src_id, void *param, bool from_hci); int le_test_end_cmd_handler(bool from_hci); uint8_t le_get_direct_test_type(void); +void le_test_mode_custom_aa(uint32_t access_code); #if defined(CONFIG_BLE_MFG_HCI_CMD) int reset_cmd_handler(void); diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/lib/README.md b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/lib/README.md new file mode 100644 index 00000000..8abbe6ad --- /dev/null +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/lib/README.md @@ -0,0 +1,10 @@ +# blecontroller lib information + +## BL702 + +1. `libblecontroller_702_m0s0sp` BL702 support BLE scan feature and BLE PDS(power down sleep) feature. +1. `libblecontroller_702_m0s1` 1 BLE connection is supported, BL702 can only be slave in this connection. +1. `libblecontroller_702_m0s1p` Based on libblecontroller_702_m0s1, add BLE PDS(power down sleep) feature. +1. `libblecontroller_702_m0s1s` Based on libblecontroller_702_m0s1, add BLE scan feature. +1. `libblecontroller_702_m1s1` 1 BLE connection is supported, BL702 can be master or slave in this connection. +1. `libblecontroller_702_m16s1` 16 BLE connections are suppprted, BL702 can be master or slave in each connection. diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/lib/libblecontroller_702_std.a b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/components/ble/blecontroller/lib/libblecontroller_702_std.a new file mode 100644 index 0000000000000000000000000000000000000000..3902fdcbc9d859c5ae3138f966a95f211ad038b8 GIT binary patch literal 4829278 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

v6yJ*-!7= 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

#krR|WqZ0D+2(zpK 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

IkXbb7Vw{$ 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­5jR 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⪼pVH~m&&P?F@8HcQd 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 r&JEAENieSSPvGVpRi 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 O1S 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
    T+mw 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%0Adg%ry8Hu@5#9a{&B{*#{emDTjXv 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 E0l}w1L;wH) literal 0 HcmV?d00001 diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/bl702_flash.ld b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/bl702_flash.ld index 2ae61c59..3349c544 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/bl702_flash.ld +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/bl702_flash.ld @@ -175,7 +175,7 @@ SECTIONS . = ALIGN(4); __tcm_code_end__ = .; - } > itcm_memory + } > dtcm_memory __hbn_load_addr = __itcm_load_addr + SIZEOF(.itcm_region); @@ -203,25 +203,7 @@ SECTIONS . = ALIGN(4); __tcm_data_end__ = .; } > dtcm_memory - /*************************************************************************/ - /* .stack_dummy section doesn't contains any symbols. It is only - * used for linker to calculate size of stack sections, and assign - * values to stack symbols later */ - .stack_dummy (NOLOAD): - { - . = ALIGN(0x4); - . = . + StackSize; - . = ALIGN(0x4); - } > dtcm_memory - - /* Set stack top to end of RAM, and stack limit move down by - * size of stack_dummy section */ - __StackTop = ORIGIN(dtcm_memory) + LENGTH(dtcm_memory); - PROVIDE( __freertos_irq_stack_top = __StackTop); - __StackLimit = __StackTop - SIZEOF(.stack_dummy); - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __tcm_data_end__, "region RAM overflowed with stack") - /*************************************************************************/ + /*************************************************************************/ /* .stack_dummy section doesn't contains any symbols. It is only diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/inc/hal_dma.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/inc/hal_dma.h index dda00291..9d51c162 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/inc/hal_dma.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/inc/hal_dma.h @@ -81,10 +81,10 @@ enum dma_index_type { #define DMA_TRANSFER_WIDTH_16BIT 1 #define DMA_TRANSFER_WIDTH_32BIT 2 -#define DMA_BURST_1BYTE 0 -#define DMA_BURST_4BYTE 1 -#define DMA_BURST_8BYTE 2 -#define DMA_BURST_16BYTE 3 +#define DMA_BURST_INCR1 0 +#define DMA_BURST_INCR4 1 +#define DMA_BURST_INCR8 2 +#define DMA_BURST_INCR16 3 #define DMA_ADDR_UART0_TDR (0x4000A000 + 0x88) #define DMA_ADDR_UART0_RDR (0x4000A000 + 0x8C) @@ -174,13 +174,13 @@ typedef struct dma_device { uint8_t dst_burst_size; uint8_t src_width; uint8_t dst_width; - dma_lli_ctrl_t *lli_cfg; + uint8_t intr; /* private param */ + dma_lli_ctrl_t *lli_cfg;/* private param*/ } dma_device_t; #define DMA_DEV(dev) ((dma_device_t *)dev) int dma_register(enum dma_index_type index, const char *name); -int dma_allocate_register(const char *name); int dma_reload(struct device *dev, uint32_t src_addr, uint32_t dst_addr, uint32_t transfer_size); #ifdef __cplusplus diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_clock.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_clock.c index 595784a6..f2581e01 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_clock.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_clock.c @@ -56,9 +56,8 @@ static void internal_rc32m_init(void) { tmpVal = BL_RD_REG(AON_BASE, AON_XTAL_CFG); tmpVal = BL_CLR_REG_BIT(tmpVal, AON_XTAL_EXT_SEL_AON); BL_WR_REG(AON_BASE, AON_XTAL_CFG, tmpVal); - if (BL_IS_REG_BIT_SET(BL_RD_REG(GLB_BASE, GLB_CLK_CFG0), GLB_CHIP_RDY)) { + if (BL_IS_REG_BIT_SET(BL_RD_REG(GLB_BASE, GLB_CLK_CFG0), GLB_CHIP_RDY)) break; - } } } #endif @@ -457,6 +456,11 @@ void peripheral_clock_init(void) { tmpVal |= (1 << BL_AHB_SLAVE1_USB); GLB_Set_USB_CLK(1); #endif + +#if defined(BSP_USING_DMA) + tmpVal |= (1 << BL_AHB_SLAVE1_DMA); +#endif + BL_WR_REG(GLB_BASE, GLB_CGEN_CFG1, tmpVal); } @@ -465,9 +469,9 @@ uint32_t system_clock_get(enum system_clock_type type) { case SYSTEM_CLOCK_ROOT_CLOCK: if (GLB_Get_Root_CLK_Sel() == 0) { return 32 * 1000 * 1000; - } else if (GLB_Get_Root_CLK_Sel() == 1) { + } else if (GLB_Get_Root_CLK_Sel() == 1) return 32 * 1000 * 1000; - } else { + else { uint32_t tmpVal = BL_RD_REG(GLB_BASE, GLB_CLK_CFG0); tmpVal = BL_GET_REG_BITS_VAL(tmpVal, GLB_REG_PLL_SEL); if (tmpVal == 0) { diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_dma.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_dma.c index 1bd85630..2eaea527 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_dma.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_dma.c @@ -79,13 +79,13 @@ int dma_open(struct device *dev, uint16_t oflag) { /* Disable all interrupt */ DMA_IntMask(dma_device->ch, DMA_INT_ALL, MASK); - /* Enable uart interrupt*/ CPU_Interrupt_Disable(DMA_ALL_IRQn); DMA_Disable(); DMA_Channel_Disable(dma_device->ch); + dma_device->intr = 0; chCfg.ch = dma_device->ch; chCfg.dir = dma_device->direction; chCfg.srcPeriph = dma_device->src_req; @@ -101,7 +101,7 @@ int dma_open(struct device *dev, uint16_t oflag) { DMA_Enable(); Interrupt_Handler_Register(DMA_ALL_IRQn, DMA0_IRQ); - /* Enable uart interrupt*/ + /* Enable dma interrupt*/ CPU_Interrupt_Enable(DMA_ALL_IRQn); return 0; } @@ -121,14 +121,14 @@ int dma_control(struct device *dev, int cmd, void *args) { /* Dma interrupt configuration */ DMA_IntMask(dma_device->ch, DMA_INT_TCOMPLETED, UNMASK); DMA_IntMask(dma_device->ch, DMA_INT_ERR, UNMASK); - + dma_device->intr = 1; break; case DEVICE_CTRL_CLR_INT: /* Dma interrupt configuration */ DMA_IntMask(dma_device->ch, DMA_INT_TCOMPLETED, MASK); DMA_IntMask(dma_device->ch, DMA_INT_ERR, MASK); - + dma_device->intr = 0; break; case DEVICE_CTRL_GET_INT: @@ -181,6 +181,7 @@ int dma_close(struct device *dev) { DMA_Channel_Disable(dma_device->ch); DMA_Channel_Init(&chCfg); + dma_device->intr = 0; return 0; } @@ -205,62 +206,6 @@ int dma_register(enum dma_index_type index, const char *name) { return device_register(dev, name); } -static BL_Err_Type dma_scan_unregister_device(uint8_t *allocate_index) { - struct device *dev; - dlist_t *node; - uint8_t dma_index = 0; - uint32_t dma_handle[DMA_MAX_INDEX]; - - for (dma_index = 0; dma_index < DMA_MAX_INDEX; dma_index++) { - dma_handle[dma_index] = 0xff; - } - - /* get registered dma handle list*/ - dlist_for_each(node, device_get_list_header()) { - dev = dlist_entry(node, struct device, list); - - if (dev->type == DEVICE_CLASS_DMA) { - dma_handle[(((uint32_t)dev - (uint32_t)dmax_device) / sizeof(dma_device_t)) % DMA_MAX_INDEX] = SET; - } - } - - for (dma_index = 0; dma_index < DMA_MAX_INDEX; dma_index++) { - if (dma_handle[dma_index] == 0xff) { - *allocate_index = dma_index; - return SUCCESS; - } - } - - return ERROR; -} - -int dma_allocate_register(const char *name) { - struct device *dev; - uint8_t index; - - if (DMA_MAX_INDEX == 0) { - return -DEVICE_EINVAL; - } - - if (dma_scan_unregister_device(&index) == ERROR) { - return -DEVICE_ENOSPACE; - } - - dev = &(dmax_device[index].parent); - - dev->open = dma_open; - dev->close = dma_close; - dev->control = dma_control; - // dev->write = dma_write; - // dev->read = dma_read; - - dev->status = DEVICE_UNREGISTER; - dev->type = DEVICE_CLASS_DMA; - dev->handle = NULL; - - return device_register(dev, name); -} - /** * @brief * @@ -271,14 +216,13 @@ int dma_allocate_register(const char *name) { * @return int */ int dma_reload(struct device *dev, uint32_t src_addr, uint32_t dst_addr, uint32_t transfer_size) { -#if defined(BSP_USING_DMA0_CH0) || defined(BSP_USING_DMA0_CH1) || defined(BSP_USING_DMA0_CH2) || defined(BSP_USING_DMA0_CH3) || defined(BSP_USING_DMA0_CH4) || defined(BSP_USING_DMA0_CH5) || \ - defined(BSP_USING_DMA0_CH6) || defined(BSP_USING_DMA0_CH7) - +#ifdef BSP_USING_DMA uint32_t malloc_count; uint32_t remain_len; uint32_t actual_transfer_len = 0; uint32_t actual_transfer_offset = 0; dma_control_data_t dma_ctrl_cfg; + bool intr = false; dma_device_t *dma_device = (dma_device_t *)dev; @@ -315,6 +259,7 @@ int dma_reload(struct device *dev, uint32_t src_addr, uint32_t dst_addr, uint32_ } dma_ctrl_cfg = (dma_control_data_t)(BL_RD_REG(dma_channel_base[dma_device->id][dma_device->ch], DMA_CONTROL)); + intr = dma_device->intr; malloc_count = actual_transfer_len / 4095; remain_len = actual_transfer_len % 4095; @@ -326,15 +271,14 @@ int dma_reload(struct device *dev, uint32_t src_addr, uint32_t dst_addr, uint32_ dma_device->lli_cfg = (dma_lli_ctrl_t *)realloc(dma_device->lli_cfg, sizeof(dma_lli_ctrl_t) * malloc_count); if (dma_device->lli_cfg) { + dma_ctrl_cfg.bits.TransferSize = 4095; + dma_ctrl_cfg.bits.I = 0; /*transfer_size will be integer multiple of 4095*n or 4095*2*n or 4095*4*n,(n>0) */ for (uint32_t i = 0; i < malloc_count; i++) { dma_device->lli_cfg[i].src_addr = src_addr; dma_device->lli_cfg[i].dst_addr = dst_addr; dma_device->lli_cfg[i].nextlli = 0; - dma_ctrl_cfg.bits.TransferSize = 4095; - dma_ctrl_cfg.bits.I = 0; - if (dma_ctrl_cfg.bits.SI) { src_addr += actual_transfer_offset; } @@ -347,7 +291,7 @@ int dma_reload(struct device *dev, uint32_t src_addr, uint32_t dst_addr, uint32_ if (remain_len) { dma_ctrl_cfg.bits.TransferSize = remain_len; } - dma_ctrl_cfg.bits.I = 1; + dma_ctrl_cfg.bits.I = intr; if (dma_device->transfer_mode == DMA_LLI_CYCLE_MODE) { dma_device->lli_cfg[i].nextlli = (uint32_t)&dma_device->lli_cfg[0]; diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_usb.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_usb.c index 0491bc71..7c744b1a 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_usb.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/hal_drv/src/hal_usb.c @@ -21,6 +21,7 @@ * */ #include "hal_usb.h" +#include "bl702_dma.h" #include "bl702_glb.h" #include "bl702_usb.h" #include "hal_dma.h" @@ -396,8 +397,8 @@ int usb_write(struct device *dev, uint32_t pos, const void *buffer, uint32_t siz usb_lli_list.cfg.bits.TransferSize = size; usb_lli_list.cfg.bits.DI = 0; usb_lli_list.cfg.bits.SI = 1; - usb_lli_list.cfg.bits.SBSize = DMA_BURST_16BYTE; - usb_lli_list.cfg.bits.DBSize = DMA_BURST_1BYTE; + usb_lli_list.cfg.bits.SBSize = DMA_BURST_SIZE_16; + usb_lli_list.cfg.bits.DBSize = DMA_BURST_SIZE_1; dma_channel_update(usb_device->tx_dma, (void *)((uint32_t)&usb_lli_list)); dma_channel_start(usb_device->tx_dma); return 0; @@ -420,8 +421,8 @@ int usb_read(struct device *dev, uint32_t pos, void *buffer, uint32_t size) { usb_lli_list.cfg.bits.TransferSize = size; usb_lli_list.cfg.bits.DI = 1; usb_lli_list.cfg.bits.SI = 0; - usb_lli_list.cfg.bits.SBSize = DMA_BURST_1BYTE; - usb_lli_list.cfg.bits.DBSize = DMA_BURST_16BYTE; + usb_lli_list.cfg.bits.SBSize = DMA_BURST_SIZE_1; + usb_lli_list.cfg.bits.DBSize = DMA_BURST_SIZE_16; dma_channel_update(usb_device->rx_dma, (void *)((uint32_t)&usb_lli_list)); dma_channel_start(usb_device->rx_dma); return 0; @@ -817,9 +818,8 @@ int usb_dc_ep_write(struct device *dev, const uint8_t ep, const uint8_t *data, u memcopy_to_fifo((void *)ep_tx_fifo_addr, (uint8_t *)data, data_len); /* Clear NAK and enable ep */ - if (USB_EP_GET_IDX(ep) != 0) { + if (USB_EP_GET_IDX(ep) != 0) USB_Set_EPx_Rdy(USB_EP_GET_IDX(ep)); - } USB_DC_LOG_DBG("EP%d write %u bytes\r\n", ep_idx, data_len); if (ret_bytes) { diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/startup/system_bl702.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/startup/system_bl702.c index c030a559..19c7d072 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/startup/system_bl702.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/startup/system_bl702.c @@ -41,6 +41,9 @@ void USB_DoNothing_IRQHandler(void) { /*---------------------------------------------------------------------------- Vector Table *----------------------------------------------------------------------------*/ +#define VECT_TAB_OFFSET \ + 0x00 /*!< Vector Table base offset field. \ + This value must be a multiple of 0x200. */ /*---------------------------------------------------------------------------- System initialization function @@ -124,7 +127,7 @@ void SystemInit(void) { #ifdef BFLB_EFLASH_LOADER Interrupt_Handler_Register(USB_IRQn, USB_DoNothing_IRQHandler); #endif - /* init for for all platform */ + /* init bor for all platform */ system_bor_init(); /* global IRQ enable */ __enable_irq(); diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/std_drv/inc/bl702_adc.h b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/std_drv/inc/bl702_adc.h index 8619541f..b14eb472 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/std_drv/inc/bl702_adc.h +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/std_drv/inc/bl702_adc.h @@ -40,7 +40,6 @@ #include "bl702_common.h" #include "gpip_reg.h" - /** @addtogroup BL702_Peripheral_Driver * @{ */ @@ -272,8 +271,8 @@ typedef struct { typedef struct { int8_t posChan; /*!< Positive channel */ int8_t negChan; /*!< Negative channel */ - uint16_t value; /*!< ADC value */ - float volt; /*!< ADC voltage result */ + uint32_t value; /*!< ADC value */ + // float volt; /*!< ADC voltage result */ } ADC_Result_Type; /** @@ -325,11 +324,11 @@ typedef struct { /** @defgroup ADC_CHAN_TYPE * @{ */ -#define IS_ADC_CHAN_TYPE(type) \ - (((type) == ADC_CHAN0) || ((type) == ADC_CHAN1) || ((type) == ADC_CHAN2) || ((type) == ADC_CHAN3) || ((type) == ADC_CHAN4) || ((type) == ADC_CHAN5) || ((type) == ADC_CHAN6) \ - || ((type) == ADC_CHAN7) || ((type) == ADC_CHAN8) || ((type) == ADC_CHAN9) || ((type) == ADC_CHAN10) || ((type) == ADC_CHAN11) || ((type) == ADC_CHAN_DAC_OUTA) || ((type) == ADC_CHAN_DAC_OUTB) \ - || ((type) == ADC_CHAN_TSEN_P) || ((type) == ADC_CHAN_TSEN_N) || ((type) == ADC_CHAN_VREF) || ((type) == ADC_CHAN_DCTEST) || ((type) == ADC_CHAN_VABT_HALF) || ((type) == ADC_CHAN_SENP3) \ - || ((type) == ADC_CHAN_SENP2) || ((type) == ADC_CHAN_SENP1) || ((type) == ADC_CHAN_SENP0) || ((type) == ADC_CHAN_GND)) +#define IS_ADC_CHAN_TYPE(type) \ + (((type) == ADC_CHAN0) || ((type) == ADC_CHAN1) || ((type) == ADC_CHAN2) || ((type) == ADC_CHAN3) || ((type) == ADC_CHAN4) || ((type) == ADC_CHAN5) || ((type) == ADC_CHAN6) || \ + ((type) == ADC_CHAN7) || ((type) == ADC_CHAN8) || ((type) == ADC_CHAN9) || ((type) == ADC_CHAN10) || ((type) == ADC_CHAN11) || ((type) == ADC_CHAN_DAC_OUTA) || ((type) == ADC_CHAN_DAC_OUTB) || \ + ((type) == ADC_CHAN_TSEN_P) || ((type) == ADC_CHAN_TSEN_N) || ((type) == ADC_CHAN_VREF) || ((type) == ADC_CHAN_DCTEST) || ((type) == ADC_CHAN_VABT_HALF) || ((type) == ADC_CHAN_SENP3) || \ + ((type) == ADC_CHAN_SENP2) || ((type) == ADC_CHAN_SENP1) || ((type) == ADC_CHAN_SENP0) || ((type) == ADC_CHAN_GND)) /** @defgroup ADC_V18_SEL_TYPE * @{ @@ -344,23 +343,23 @@ typedef struct { /** @defgroup ADC_CLK_TYPE * @{ */ -#define IS_ADC_CLK_TYPE(type) \ - (((type) == ADC_CLK_DIV_1) || ((type) == ADC_CLK_DIV_4) || ((type) == ADC_CLK_DIV_8) || ((type) == ADC_CLK_DIV_12) || ((type) == ADC_CLK_DIV_16) || ((type) == ADC_CLK_DIV_20) \ - || ((type) == ADC_CLK_DIV_24) || ((type) == ADC_CLK_DIV_32)) +#define IS_ADC_CLK_TYPE(type) \ + (((type) == ADC_CLK_DIV_1) || ((type) == ADC_CLK_DIV_4) || ((type) == ADC_CLK_DIV_8) || ((type) == ADC_CLK_DIV_12) || ((type) == ADC_CLK_DIV_16) || ((type) == ADC_CLK_DIV_20) || \ + ((type) == ADC_CLK_DIV_24) || ((type) == ADC_CLK_DIV_32)) /** @defgroup ADC_DELAY_SEL_TYPE * @{ */ -#define IS_ADC_DELAY_SEL_TYPE(type) \ - (((type) == ADC_DELAY_SEL_0) || ((type) == ADC_DELAY_SEL_1) || ((type) == ADC_DELAY_SEL_2) || ((type) == ADC_DELAY_SEL_3) || ((type) == ADC_DELAY_SEL_4) || ((type) == ADC_DELAY_SEL_5) \ - || ((type) == ADC_DELAY_SEL_6) || ((type) == ADC_DELAY_SEL_7)) +#define IS_ADC_DELAY_SEL_TYPE(type) \ + (((type) == ADC_DELAY_SEL_0) || ((type) == ADC_DELAY_SEL_1) || ((type) == ADC_DELAY_SEL_2) || ((type) == ADC_DELAY_SEL_3) || ((type) == ADC_DELAY_SEL_4) || ((type) == ADC_DELAY_SEL_5) || \ + ((type) == ADC_DELAY_SEL_6) || ((type) == ADC_DELAY_SEL_7)) /** @defgroup ADC_PGA_GAIN_TYPE * @{ */ -#define IS_ADC_PGA_GAIN_TYPE(type) \ - (((type) == ADC_PGA_GAIN_NONE) || ((type) == ADC_PGA_GAIN_1) || ((type) == ADC_PGA_GAIN_2) || ((type) == ADC_PGA_GAIN_4) || ((type) == ADC_PGA_GAIN_8) || ((type) == ADC_PGA_GAIN_16) \ - || ((type) == ADC_PGA_GAIN_32)) +#define IS_ADC_PGA_GAIN_TYPE(type) \ + (((type) == ADC_PGA_GAIN_NONE) || ((type) == ADC_PGA_GAIN_1) || ((type) == ADC_PGA_GAIN_2) || ((type) == ADC_PGA_GAIN_4) || ((type) == ADC_PGA_GAIN_8) || ((type) == ADC_PGA_GAIN_16) || \ + ((type) == ADC_PGA_GAIN_32)) /** @defgroup ADC_BIAS_SEL_TYPE * @{ @@ -395,9 +394,9 @@ typedef struct { /** @defgroup ADC_DATA_WIDTH_TYPE * @{ */ -#define IS_ADC_DATA_WIDTH_TYPE(type) \ - (((type) == ADC_DATA_WIDTH_12) || ((type) == ADC_DATA_WIDTH_14_WITH_16_AVERAGE) || ((type) == ADC_DATA_WIDTH_14_WITH_64_AVERAGE) || ((type) == ADC_DATA_WIDTH_16_WITH_128_AVERAGE) \ - || ((type) == ADC_DATA_WIDTH_16_WITH_256_AVERAGE)) +#define IS_ADC_DATA_WIDTH_TYPE(type) \ + (((type) == ADC_DATA_WIDTH_12) || ((type) == ADC_DATA_WIDTH_14_WITH_16_AVERAGE) || ((type) == ADC_DATA_WIDTH_14_WITH_64_AVERAGE) || ((type) == ADC_DATA_WIDTH_16_WITH_128_AVERAGE) || \ + ((type) == ADC_DATA_WIDTH_16_WITH_256_AVERAGE)) /** @defgroup ADC_MICBOOST_DB_TYPE * @{ @@ -422,9 +421,9 @@ typedef struct { /** @defgroup ADC_INT_TYPE * @{ */ -#define IS_ADC_INT_TYPE(type) \ - (((type) == ADC_INT_POS_SATURATION) || ((type) == ADC_INT_NEG_SATURATION) || ((type) == ADC_INT_FIFO_UNDERRUN) || ((type) == ADC_INT_FIFO_OVERRUN) || ((type) == ADC_INT_ADC_READY) \ - || ((type) == ADC_INT_FIFO_READY) || ((type) == ADC_INT_ALL)) +#define IS_ADC_INT_TYPE(type) \ + (((type) == ADC_INT_POS_SATURATION) || ((type) == ADC_INT_NEG_SATURATION) || ((type) == ADC_INT_FIFO_UNDERRUN) || ((type) == ADC_INT_FIFO_OVERRUN) || ((type) == ADC_INT_ADC_READY) || \ + ((type) == ADC_INT_FIFO_READY) || ((type) == ADC_INT_ALL)) /*@} end of group ADC_Public_Constants */ diff --git a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/std_drv/src/bl702_adc.c b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/std_drv/src/bl702_adc.c index ce425225..59028321 100644 --- a/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/std_drv/src/bl702_adc.c +++ b/source/Core/BSP/Pinecilv2/bl_mcu_sdk/drivers/bl702_driver/std_drv/src/bl702_adc.c @@ -74,11 +74,11 @@ /** @defgroup ADC_Private_Variables * @{ */ -static intCallback_Type *adcIntCbfArra[ADC_INT_ALL] = {NULL}; -static ADC_Gain_Coeff_Type adcGainCoeffCal = { - .adcGainCoeffEnable = DISABLE, - .adcgainCoeffVal = 0, - .coe = 1, +static intCallback_Type *adcIntCbfArra[ADC_INT_ALL] = {NULL}; +ADC_Gain_Coeff_Type adcGainCoeffCal = { + .adcGainCoeffEnable = DISABLE, + .adcgainCoeffVal = 0, + .coe = 1, }; /*@} end of group ADC_Private_Variables */ @@ -185,7 +185,7 @@ void ADC_Init(ADC_CFG_Type *cfg) { CHECK_PARAM(IS_ADC_DATA_WIDTH_TYPE(cfg->resWidth)); /* config 1 */ - regCfg1 = 0; // BL_RD_REG(AON_BASE, AON_GPADC_REG_CONFIG1); + regCfg1 = BL_RD_REG(AON_BASE, AON_GPADC_REG_CONFIG1); regCfg1 = BL_SET_REG_BITS_VAL(regCfg1, AON_GPADC_V18_SEL, cfg->v18Sel); regCfg1 = BL_SET_REG_BITS_VAL(regCfg1, AON_GPADC_V11_SEL, cfg->v11Sel); regCfg1 = BL_CLR_REG_BIT(regCfg1, AON_GPADC_DITHER_EN); @@ -200,13 +200,11 @@ void ADC_Init(ADC_CFG_Type *cfg) { /* config 2 */ regCfg2 = BL_RD_REG(AON_BASE, AON_GPADC_REG_CONFIG2); - regCfg2 = BL_SET_REG_BITS_VAL(regCfg2, AON_GPADC_DLY_SEL, 0x00); + regCfg2 = BL_SET_REG_BITS_VAL(regCfg2, AON_GPADC_DLY_SEL, 0x02); regCfg2 = BL_SET_REG_BITS_VAL(regCfg2, AON_GPADC_PGA1_GAIN, cfg->gain1); regCfg2 = BL_SET_REG_BITS_VAL(regCfg2, AON_GPADC_PGA2_GAIN, cfg->gain2); regCfg2 = BL_SET_REG_BITS_VAL(regCfg2, AON_GPADC_BIAS_SEL, cfg->biasSel); regCfg2 = BL_SET_REG_BITS_VAL(regCfg2, AON_GPADC_CHOP_MODE, cfg->chopMode); - regCfg2 = BL_CLR_REG_BIT(regCfg2, AON_GPADC_VBAT_EN); // vbat enabled (off) - regCfg2 = BL_CLR_REG_BIT(regCfg2, AON_GPADC_TSVBE_LOW); // tsen didoe current /* pga_vcmi_en is for mic */ regCfg2 = BL_CLR_REG_BIT(regCfg2, AON_GPADC_PGA_VCMI_EN); @@ -233,7 +231,7 @@ void ADC_Init(ADC_CFG_Type *cfg) { Interrupt_Handler_Register(GPADC_DMA_IRQn, GPADC_DMA_IRQHandler); #endif - // ADC_Gain_Trim(); + ADC_Gain_Trim(); } /****************************************************************************/ @@ -510,8 +508,7 @@ void ADC_Parse_Result(uint32_t *orgVal, uint32_t len, ADC_Result_Type *result) { uint32_t tmpVal1 = 0, tmpVal2 = 0; ADC_Data_Width_Type dataType; ADC_SIG_INPUT_Type sigType; - float ref = 2.0; - uint32_t i = 0; + uint32_t i = 0; float coe = 1.0; @@ -524,54 +521,52 @@ void ADC_Parse_Result(uint32_t *orgVal, uint32_t len, ADC_Result_Type *result) { dataType = BL_GET_REG_BITS_VAL(tmpVal1, AON_GPADC_RES_SEL); sigType = BL_GET_REG_BITS_VAL(tmpVal2, AON_GPADC_DIFF_MODE); - if (BL_GET_REG_BITS_VAL(tmpVal2, AON_GPADC_VREF_SEL) == ADC_VREF_3P2V) { - ref = 3.2; - } - if (sigType == ADC_INPUT_SINGLE_END) { for (i = 0; i < len; i++) { result[i].posChan = orgVal[i] >> 21; result[i].negChan = -1; - + uint32_t sample = 0; if (dataType == ADC_DATA_WIDTH_12) { - result[i].value = (unsigned int)(((orgVal[i] & 0xffff) >> 4) / coe); - result[i].volt = result[i].value / 4096.0 * ref; + sample = ((orgVal[i] & 0xffff) >> 4); } else if ((dataType == ADC_DATA_WIDTH_14_WITH_16_AVERAGE) || (dataType == ADC_DATA_WIDTH_14_WITH_64_AVERAGE)) { - result[i].value = (unsigned int)(((orgVal[i] & 0xffff) >> 2) / coe); - result[i].volt = result[i].value / 16384.0 * ref; + sample = ((orgVal[i] & 0xffff) >> 2); } else if ((dataType == ADC_DATA_WIDTH_16_WITH_128_AVERAGE) || (dataType == ADC_DATA_WIDTH_16_WITH_256_AVERAGE)) { - result[i].value = (unsigned int)((orgVal[i] & 0xffff) / coe); - result[i].volt = result[i].value / 65536.0 * ref; - } - } - } else { - for (i = 0; i < len; i++) { - neg = 0; - result[i].posChan = orgVal[i] >> 21; - result[i].negChan = (orgVal[i] >> 16) & 0x1F; - - if (orgVal[i] & 0x8000) { - orgVal[i] = ~orgVal[i]; - orgVal[i] += 1; - neg = 1; + sample = (orgVal[i] & 0xffff); } - if (dataType == ADC_DATA_WIDTH_12) { - result[i].value = (unsigned int)(((orgVal[i] & 0xffff) >> 4) / coe); - result[i].volt = result[i].value / 2048.0 * ref; - } else if ((dataType == ADC_DATA_WIDTH_14_WITH_16_AVERAGE) || (dataType == ADC_DATA_WIDTH_14_WITH_64_AVERAGE)) { - result[i].value = (unsigned int)(((orgVal[i] & 0xffff) >> 2) / coe); - result[i].volt = result[i].value / 8192.0 * ref; - } else if ((dataType == ADC_DATA_WIDTH_16_WITH_128_AVERAGE) || (dataType == ADC_DATA_WIDTH_16_WITH_256_AVERAGE)) { - result[i].value = (unsigned int)((orgVal[i] & 0xffff) / coe); - result[i].volt = result[i].value / 32768.0 * ref; - } + result[i].value = (unsigned int)(sample / coe); - if (neg) { - result[i].volt = -result[i].volt; + // Saturate at 16 bits + if (result[i].value > 0xFFFF) { + result[i].value = 0xFFFF; } } } + // else { + // for (i = 0; i < len; i++) { + // neg = 0; + // result[i].posChan = orgVal[i] >> 21; + // result[i].negChan = (orgVal[i] >> 16) & 0x1F; + + // if (orgVal[i] & 0x8000) { + // orgVal[i] = ~orgVal[i]; + // orgVal[i] += 1; + // neg = 1; + // } + + // if (dataType == ADC_DATA_WIDTH_12) { + // result[i].value = (unsigned int)(((orgVal[i] & 0xffff) >> 4) / coe); + // } else if ((dataType == ADC_DATA_WIDTH_14_WITH_16_AVERAGE) || (dataType == ADC_DATA_WIDTH_14_WITH_64_AVERAGE)) { + // result[i].value = (unsigned int)(((orgVal[i] & 0xffff) >> 2) / coe); + // } else if ((dataType == ADC_DATA_WIDTH_16_WITH_128_AVERAGE) || (dataType == ADC_DATA_WIDTH_16_WITH_256_AVERAGE)) { + // result[i].value = (unsigned int)((orgVal[i] & 0xffff) / coe); + // } + // // Saturate at 16 bits + // if (result[i].value > 0xFFFF) { + // result[i].value = 0xFFFF; + // } + // } + // } } /****************************************************************************/ diff --git a/source/Core/BSP/Pinecilv2/ble.c b/source/Core/BSP/Pinecilv2/ble.c index 5206d6af..dd99b83c 100644 --- a/source/Core/BSP/Pinecilv2/ble.c +++ b/source/Core/BSP/Pinecilv2/ble.c @@ -59,3 +59,12 @@ void vApplicationMallocFailedHook(void) { ; } } + +void user_vAssertCalled(void) { + + MSG("user_vAssertCalled\r\n"); + + while (1) { + ; + } +} diff --git a/source/Core/BSP/Pinecilv2/board.c b/source/Core/BSP/Pinecilv2/board.c index 7c56fdde..84ae831f 100644 --- a/source/Core/BSP/Pinecilv2/board.c +++ b/source/Core/BSP/Pinecilv2/board.c @@ -133,7 +133,7 @@ static const struct pin_mux_cfg af_pin_table[] = { static void board_pin_mux_init(void) { GLB_GPIO_Cfg_Type gpio_cfg; uint32_t tmpVal; - gpio_cfg.drive = 3; + gpio_cfg.drive = 2; gpio_cfg.smtCtrl = 1; uint8_t hbn_gpio_mask = 0x1f; uint8_t hbn_aon_ie = 0; diff --git a/source/Core/BSP/Pinecilv2/configuration.h b/source/Core/BSP/Pinecilv2/configuration.h index 09472719..e00839be 100644 --- a/source/Core/BSP/Pinecilv2/configuration.h +++ b/source/Core/BSP/Pinecilv2/configuration.h @@ -83,7 +83,7 @@ #define POWER_PULSE_WAIT_MAX 9 // 9*2.5s = 22.5 seconds #define POWER_PULSE_DURATION_MAX 9 // 9*250ms = 2.25 seconds -#ifdef MODEL_Pinecil +#ifdef MODEL_Pinecilv2 #define POWER_PULSE_DEFAULT 0 #else #define POWER_PULSE_DEFAULT 5 @@ -114,7 +114,7 @@ #define ANIMATION_LOOP 1 // 0: off 1: on #define ANIMATION_SPEED settingOffSpeed_t::MEDIUM -#define OP_AMP_Rf_Pinecil 680 * 1000 // 700 Kilo-ohms -> From schematic, R1 +#define OP_AMP_Rf_Pinecil 680 * 1000 // 680 Kilo-ohms -> From schematic, R1 #define OP_AMP_Rin_Pinecil 2370 // 2.37 Kilo-ohms -> From schematic, R2 #define OP_AMP_GAIN_STAGE_PINECIL (1 + (OP_AMP_Rf_Pinecil / OP_AMP_Rin_Pinecil)) @@ -124,10 +124,10 @@ #endif #ifdef MODEL_Pinecilv2 -#define ADC_VDD_MV 3300 // ADC max reading millivolts -#define ADC_MAX_READING (62000 >> 1) // Maximum reading of the adc +#define ADC_VDD_MV 3200 // ADC max reading millivolts +#define ADC_MAX_READING ((1 << 16) >> 1) // Maximum reading of the adc #define SOLDERING_TEMP 320 // Default soldering temp is 320.0 °C -#define VOLTAGE_DIV 600 // 600 - Default divider from schematic +#define VOLTAGE_DIV 630 // 600 - Default divider from schematic #define CALIBRATION_OFFSET 900 // 900 - Default adc offset in uV #define MIN_CALIBRATION_OFFSET 100 // Min value for calibration #define PID_POWER_LIMIT 120 // Sets the max pwm power limit @@ -157,6 +157,7 @@ #define DEVICE_HAS_VALIDATION_SUPPORT #define TEMP_NTC #define ACCEL_BMA +#define CUSTOM_MAX_TEMP_C 1 // Uses custom max temp lookup #define ACCEL_SC7 #define HALL_SENSOR #define HALL_SI7210 diff --git a/source/Core/BSP/Pinecilv2/peripheral_config.h b/source/Core/BSP/Pinecilv2/peripheral_config.h index 21b56915..375de426 100644 --- a/source/Core/BSP/Pinecilv2/peripheral_config.h +++ b/source/Core/BSP/Pinecilv2/peripheral_config.h @@ -123,7 +123,7 @@ #define DMA0_CH0_CONFIG \ { \ .id = 0, .ch = 0, .direction = DMA_MEMORY_TO_MEMORY, .transfer_mode = DMA_LLI_ONCE_MODE, .src_req = DMA_REQUEST_NONE, .dst_req = DMA_REQUEST_NONE, .src_addr_inc = DMA_ADDR_INCREMENT_ENABLE, \ - .dst_addr_inc = DMA_ADDR_INCREMENT_ENABLE, .src_burst_size = DMA_BURST_4BYTE, .dst_burst_size = DMA_BURST_4BYTE, .src_width = DMA_TRANSFER_WIDTH_32BIT, .dst_width = DMA_TRANSFER_WIDTH_32BIT, \ + .dst_addr_inc = DMA_ADDR_INCREMENT_ENABLE, .src_burst_size = DMA_BURST_SIZE_4, .dst_burst_size = DMA_BURST_SIZE_4, .src_width = DMA_TRANSFER_WIDTH_32BIT, .dst_width = DMA_TRANSFER_WIDTH_32BIT, \ } #endif #endif @@ -133,7 +133,7 @@ #define DMA0_CH1_CONFIG \ { \ .id = 0, .ch = 1, .direction = DMA_MEMORY_TO_MEMORY, .transfer_mode = DMA_LLI_ONCE_MODE, .src_req = DMA_REQUEST_NONE, .dst_req = DMA_REQUEST_NONE, .src_addr_inc = DMA_ADDR_INCREMENT_ENABLE, \ - .dst_addr_inc = DMA_ADDR_INCREMENT_ENABLE, .src_burst_size = DMA_BURST_4BYTE, .dst_burst_size = DMA_BURST_4BYTE, .src_width = DMA_TRANSFER_WIDTH_16BIT, .dst_width = DMA_TRANSFER_WIDTH_16BIT, \ + .dst_addr_inc = DMA_ADDR_INCREMENT_ENABLE, .src_burst_size = DMA_BURST_SIZE_4, .dst_burst_size = DMA_BURST_SIZE_4, .src_width = DMA_TRANSFER_WIDTH_16BIT, .dst_width = DMA_TRANSFER_WIDTH_16BIT, \ } #endif #endif @@ -143,7 +143,7 @@ #define DMA0_CH2_CONFIG \ { \ .id = 0, .ch = 2, .direction = DMA_MEMORY_TO_PERIPH, .transfer_mode = DMA_LLI_ONCE_MODE, .src_req = DMA_REQUEST_NONE, .dst_req = DMA_REQUEST_UART1_TX, .src_addr_inc = DMA_ADDR_INCREMENT_ENABLE, \ - .dst_addr_inc = DMA_ADDR_INCREMENT_DISABLE, .src_burst_size = DMA_BURST_1BYTE, .dst_burst_size = DMA_BURST_1BYTE, .src_width = DMA_TRANSFER_WIDTH_8BIT, .dst_width = DMA_TRANSFER_WIDTH_8BIT, \ + .dst_addr_inc = DMA_ADDR_INCREMENT_DISABLE, .src_burst_size = DMA_BURST_SIZE_1, .dst_burst_size = DMA_BURST_SIZE_1, .src_width = DMA_TRANSFER_WIDTH_8BIT, .dst_width = DMA_TRANSFER_WIDTH_8BIT, \ } #endif #endif @@ -153,7 +153,7 @@ #define DMA0_CH3_CONFIG \ { \ .id = 0, .ch = 3, .direction = DMA_MEMORY_TO_PERIPH, .transfer_mode = DMA_LLI_ONCE_MODE, .src_req = DMA_REQUEST_NONE, .dst_req = DMA_REQUEST_SPI0_TX, .src_addr_inc = DMA_ADDR_INCREMENT_ENABLE, \ - .dst_addr_inc = DMA_ADDR_INCREMENT_DISABLE, .src_burst_size = DMA_BURST_1BYTE, .dst_burst_size = DMA_BURST_1BYTE, .src_width = DMA_TRANSFER_WIDTH_8BIT, .dst_width = DMA_TRANSFER_WIDTH_8BIT, \ + .dst_addr_inc = DMA_ADDR_INCREMENT_DISABLE, .src_burst_size = DMA_BURST_SIZE_1, .dst_burst_size = DMA_BURST_SIZE_1, .src_width = DMA_TRANSFER_WIDTH_8BIT, .dst_width = DMA_TRANSFER_WIDTH_8BIT, \ } #endif #endif @@ -163,7 +163,7 @@ #define DMA0_CH4_CONFIG \ { \ .id = 0, .ch = 4, .direction = DMA_PERIPH_TO_MEMORY, .transfer_mode = DMA_LLI_ONCE_MODE, .src_req = DMA_REQUEST_SPI0_RX, .dst_req = DMA_REQUEST_NONE, .src_addr_inc = DMA_ADDR_INCREMENT_DISABLE, \ - .dst_addr_inc = DMA_ADDR_INCREMENT_ENABLE, .src_burst_size = DMA_BURST_1BYTE, .dst_burst_size = DMA_BURST_1BYTE, .src_width = DMA_TRANSFER_WIDTH_8BIT, .dst_width = DMA_TRANSFER_WIDTH_8BIT, \ + .dst_addr_inc = DMA_ADDR_INCREMENT_ENABLE, .src_burst_size = DMA_BURST_SIZE_1, .dst_burst_size = DMA_BURST_SIZE_1, .src_width = DMA_TRANSFER_WIDTH_8BIT, .dst_width = DMA_TRANSFER_WIDTH_8BIT, \ } #endif #endif @@ -173,7 +173,7 @@ #define DMA0_CH5_CONFIG \ { \ .id = 0, .ch = 5, .direction = DMA_MEMORY_TO_PERIPH, .transfer_mode = DMA_LLI_CYCLE_MODE, .src_req = DMA_REQUEST_NONE, .dst_req = DMA_REQUEST_I2S_TX, .src_addr_inc = DMA_ADDR_INCREMENT_ENABLE, \ - .dst_addr_inc = DMA_ADDR_INCREMENT_DISABLE, .src_burst_size = DMA_BURST_1BYTE, .dst_burst_size = DMA_BURST_1BYTE, .src_width = DMA_TRANSFER_WIDTH_16BIT, .dst_width = DMA_TRANSFER_WIDTH_16BIT, \ + .dst_addr_inc = DMA_ADDR_INCREMENT_DISABLE, .src_burst_size = DMA_BURST_SIZE_1, .dst_burst_size = DMA_BURST_SIZE_1, .src_width = DMA_TRANSFER_WIDTH_16BIT, .dst_width = DMA_TRANSFER_WIDTH_16BIT, \ } #endif #endif @@ -183,7 +183,7 @@ #define DMA0_CH6_CONFIG \ { \ .id = 0, .ch = 6, .direction = DMA_MEMORY_TO_PERIPH, .transfer_mode = DMA_LLI_CYCLE_MODE, .src_req = DMA_REQUEST_NONE, .dst_req = DMA_REQUEST_I2S_TX, .src_addr_inc = DMA_ADDR_INCREMENT_ENABLE, \ - .dst_addr_inc = DMA_ADDR_INCREMENT_DISABLE, .src_burst_size = DMA_BURST_1BYTE, .dst_burst_size = DMA_BURST_1BYTE, .src_width = DMA_TRANSFER_WIDTH_16BIT, .dst_width = DMA_TRANSFER_WIDTH_16BIT, \ + .dst_addr_inc = DMA_ADDR_INCREMENT_DISABLE, .src_burst_size = DMA_BURST_SIZE_1, .dst_burst_size = DMA_BURST_SIZE_1, .src_width = DMA_TRANSFER_WIDTH_16BIT, .dst_width = DMA_TRANSFER_WIDTH_16BIT, \ } #endif #endif @@ -193,7 +193,7 @@ #define DMA0_CH7_CONFIG \ { \ .id = 0, .ch = 7, .direction = DMA_MEMORY_TO_MEMORY, .transfer_mode = DMA_LLI_ONCE_MODE, .src_req = DMA_REQUEST_NONE, .dst_req = DMA_REQUEST_NONE, .src_addr_inc = DMA_ADDR_INCREMENT_ENABLE, \ - .dst_addr_inc = DMA_ADDR_INCREMENT_ENABLE, .src_burst_size = DMA_BURST_1BYTE, .dst_burst_size = DMA_BURST_1BYTE, .src_width = DMA_TRANSFER_WIDTH_32BIT, .dst_width = DMA_TRANSFER_WIDTH_32BIT, \ + .dst_addr_inc = DMA_ADDR_INCREMENT_ENABLE, .src_burst_size = DMA_BURST_SIZE_1, .dst_burst_size = DMA_BURST_SIZE_1, .src_width = DMA_TRANSFER_WIDTH_32BIT, .dst_width = DMA_TRANSFER_WIDTH_32BIT, \ } #endif #endif diff --git a/source/Core/Drivers/TipThermoModel.cpp b/source/Core/Drivers/TipThermoModel.cpp index 29edc08d..f52f4733 100644 --- a/source/Core/Drivers/TipThermoModel.cpp +++ b/source/Core/Drivers/TipThermoModel.cpp @@ -89,7 +89,11 @@ TemperatureType_t TipThermoModel::getTipInF(bool sampleNow) { } TemperatureType_t TipThermoModel::getTipMaxInC() { +#ifdef CUSTOM_MAX_TEMP_C + return getCustomTipMaxInC(); +#else TemperatureType_t maximumTipTemp = TipThermoModel::convertTipRawADCToDegC(ADC_MAX_READING - 1); maximumTipTemp += getHandleTemperature(0) / 10; // Add handle offset return maximumTipTemp - 1; +#endif } diff --git a/source/Core/Inc/Settings.h b/source/Core/Inc/Settings.h index 72eb7d8d..e9bddfaf 100644 --- a/source/Core/Inc/Settings.h +++ b/source/Core/Inc/Settings.h @@ -11,7 +11,13 @@ #define SETTINGS_H_ #include #include -#define SETTINGSVERSION (0x2A) // This number is frozen, do not edit + +#ifdef MODEL_Pinecilv2 +// Required settings reset for PR #1916 +#define SETTINGSVERSION (0x55AB) // This number is frozen, do not edit +#else +#define SETTINGSVERSION (0x55AA) // This number is frozen, do not edit +#endif enum SettingsOptions { SolderingTemp = 0, // current set point for the iron diff --git a/source/Core/Src/Settings.cpp b/source/Core/Src/Settings.cpp index 77512b9d..72e9e7ff 100644 --- a/source/Core/Src/Settings.cpp +++ b/source/Core/Src/Settings.cpp @@ -135,9 +135,9 @@ bool sanitiseSettings() { // For all settings, need to ensure settings are in a valid range // First for any not know about due to array growth, reset them and update the length value bool dirty = false; - if (systemSettings.versionMarker != 0x55AA) { + if (systemSettings.versionMarker != SETTINGSVERSION) { memset((void *)&systemSettings, 0xFF, sizeof(systemSettings)); - systemSettings.versionMarker = 0x55AA; + systemSettings.versionMarker = SETTINGSVERSION; dirty = true; } if (systemSettings.padding != 0xFFFFFFFF) { diff --git a/source/Makefile b/source/Makefile index 6016a012..f18d8089 100644 --- a/source/Makefile +++ b/source/Makefile @@ -224,7 +224,7 @@ CPUFLAGS=-march=rv32imafczicsr \ -DARCH_RISCV \ -D__RISCV_FEATURE_MVE=0 \ -DBL702 \ - -DBFLB_USE_ROM_DRIVER=1 \ + -DBFLB_USE_ROM_DRIVER=0 \ # Binary blobs suck and they should be ashamed PINECILV2_SDK_DIR=$(DEVICE_BSP_DIR)/bl_mcu_sdk @@ -249,7 +249,7 @@ DEV_GLOBAL_DEFS=-DCFG_FREERTOS \ -DCFG_BLE \ -DOPTIMIZE_DATA_EVT_FLOW_FROM_CONTROLLER \ -DBL_MCU_SDK \ - -DCFG_CON=2 \ + -DCFG_CON=1 \ -DCFG_BLE_TX_BUFF_DATA=2 \ -DCONFIG_BT_PERIPHERAL \ -DCONFIG_BT_L2CAP_DYNAMIC_CHANNEL \ @@ -273,14 +273,14 @@ DEV_GLOBAL_DEFS=-DCFG_FREERTOS \ -DCONFIG_BT_SETTINGS_CCC_LAZY_LOADING \ -DCONFIG_BT_SETTINGS_USE_PRINTK \ -DCFG_SLEEP \ - -DCONFIG_BT_ALLROLES \ - -DCONFIG_BT_CENTRAL \ -DCONFIG_BT_OBSERVER \ -DCONFIG_BT_BROADCASTER \ - -DCFG_BLE_STACK_DBG_PRINT \ -DportasmHANDLE_INTERRUPT=FreeRTOS_Interrupt_Handler \ -DCONFIG_BT_DEVICE_NAME=\"Pinecil\" \ -DCONFIG_BT_DEVICE_APPEARANCE=0x06C1 + # -DCFG_BLE_STACK_DBG_PRINT \ + # -DCONFIG_BT_CENTRAL \ + # -DCONFIG_BT_ALLROLES \ # -DBFLB_USE_HAL_DRIVER \ # -DCONFIG_BT_SMP

    vhDd!2Ys#gawq-` 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 z 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

mNdh{swj2n2F5pJ*H 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